정의

기계 학습은 주어진 입력에 대하여 출력을 내놓는 기존의 방식을 개선하여 입력값들로 그들만의 새로운 함수를 만드는 과정을 말한다. 더 자세히 말하면 주어진 함수의 인자를 입력값들의 관계를 통해서 찾아 나가는 과정을 말한다. 어떻게 보면 확률의 Regression과정과 비슷하지만, 중요한 차이점은 데이터를 이해하는 과정이라는 것이다.

그렇다면 이해한다는 것은 무었인가? 이해한다는 것은 스스로의 패터을 찾는 과정을 말한다. 패턴은 지식으로 그 스스로를 나타내는 정보와도 같다. 현재도 이해한다는 것을 어떻게 구현할지는 아직도 논의되고 있는 사항이다.

머신러닝의 최종 목적이라고 하면은 데이터를 일반화 하는 것이다.

딥러닝은 머신러닝의 한 종류로, 사실 둘은 서로 다른 점이 없다. 이름만 다르다. 딥러닝은 ML의 방식으로 deep neural network를 학습시키는 방법론이라고 할 수 있다. 사실 딥러닝이 기계학습보다 더 멋지게 들린다고 그렇게 사용하는 것도 있다. 아이폰을 아이폰으로 부르던지 스마트폰으로 부르던지 둘이 같은 것을 지칭하지만, 아이폰이 더 멋지게 들려서 아이폰으로 부르는 것과 마찬가지 이다.

역사

70년대 80년대에는 AI혹은 Perceptron이라고 기계학습이 불리였다. 80년대와 90년대에는 퍼지혹은 카오스라는 이름으로 불리었고, 2010년대에는 빅 데이타라는 용어로 불렸다. 현재 2020년대에는 다시금 AI라는 이름으로 불리였다. 이처럼 AI는 계속 이름을 바꾸었지만 중심 아이디어는 같다. 인풋과 아웃풋이 주어진 경우 Mapping Function을 찾는 것이 중심 목표이다.

목적 / 분류

분류와 회기 모두 데이터의 공통점과 차이점을 찾는 것을 말하지만, discrete 한 분류로 나누는 가에 따라서 종류가 나뉘어 진다.

  1. Classification 데이터를 discrete 한 분류로 나누는 것을 말한다.
  2. Regression 데이터를 numeric value로 나누는 것을 말한다.
  3. Similiarity 공통점과 차이점을 찾는 것
  4. Clustering 데이터의 구조를 찾는 것
  5. Embedding 데이터의 관련을 찾는 것.
  6. Reinforcement Learning 피드백을 바탕으로 학습하는 것.
  7. Supervised Learning 데이터를 라벨을 바탕으로 학습하는 것
  8. Unsupervised Learning 데이터 차체를 통해서 학습하는 것.
  9. Semi-supervised Learning 어떤 데이터는 라벨이 되어 있고, 어떤 데이터는 라벨이 되어 있지 않을 경우 학습시키는 방식을 말한다.
  10. Active Learning 라벨이 있는 일부분의 모델만 가지고 학습시키는 것을 말한다.
  11. Reinforcement Learning 직접 라벨이 되어 있지 않은 것을 바탕으로 학습시키는 것을 말한다.

머신 러닝의 세가지 축

1. 데이터: 인풋을 말한다. 2. 태스크: 어떤 값을 찾아야 하는지 3. 알고리즘: 데이터로 태스크를 하기 위한 알고리즘 - 이 알고리즘을 만들어서 태스크를 푸는 것이 최종 목적이다.

데이터

완전히 Superivsed되어 있거나 부분적으로 되어 잇거나, 안되어 있을 수도 있다. 예를들어 MNIST와 같은 경우는 Fully Supervised되어 있지만 어떤 데이터들은 부분적으로 되어 있거나 안되어 있을 수도 있다.

알고리즘

Learning Paradigm.png

모델로 구성되어 있다. Probalbilistic model, Parametric, Nonparametric 모델로 구성되어 있다. Model free method도 있는데, 모델 베이스드 방법과는 다르게 약간의 자유가 있다. Reinforcement Learning에서 자세히 다루게 된다.

  1. Supervised Learning: D={X,Y] 에 대해서 F:X->Y를 찾는 것
  2. Unsupervised Learning: D={X} 에 대해서 주어진 Y에 대해서 F:X->Y를 찾는 것
  3. Self-supervised learning: D={X} 에 대해서 기계가 스스로 라벨링을 한후, 그 라벨링에 따라서 supervised learning을 하는 과정.
  4. Semi-supervised Learning: D={{X,Y}, {X}} 에 대해서 F:X->Y를 찾는 것
  5. Active Learning: D={{X,Y},{X}}에 대해서 F1:{X}->x 로 가는 함수를 찾아서 F:{X,x}-Y를 성공적으로 만드는 과정. Active Learning은 샘플들 중에서 중요한 부분을 찾아서 예측의 성공을 높히는 과정을 말한다. 기존 방식으로 학습 후 모델 생성, 모델에서 탐지 못하는 데이터(이상상황) 따로 저장후 주석 작업자가 라벨링 실시.
  6. Reinforcement Learning: 강화 학습(Reinforcement learning)은 기계 학습의 한 영역이다. 행동심리학에서 영감을 받았으며, 어떤 환경 안에서 정의된 에이전트가 현재의 상태를 인식하여, 선택 가능한 행동들 중 보상을 최대화하는 행동 혹은 행동 순서를 선택하는 방법이다.
  7. Life-Long Learning: 사람이 데이터를 만들고, 데이터를 바탕으로 학습되며, 그 데이터를 바탕으로 지식을 만들고, 그 지식을 사람이 활용하며 다시 데이터를 만드는 선순환으로 계속해서 학습을 지속하는 것을 말한다. Continuous Learning이라고도 하며, 한 예로 구글 번역을 들 수 있다.

테스크

  1. Prediction: Input에 따라서 Ouput을 예측하는 것을 말한다. 예를 들어 주가의 추의를 예측하는 것을 볼 수 있다.
  2. Classification: Input을 적절하게 분류하는 것을 말한다. 예를 들어 스팸메일의 분류를 들 수 있다.
  3. Regression: Input의 경향을 찾는 것을 말한다.
  4. Similarity: 공통점이나 차이점을 찾는 것이다. 예를 들면 구글의 이미지 검색이 있을 수 있다. 혹은 추천시스템이 있을 수도 있다.
  5. Clustering: 데이터를 그룹화 하는 것을 말한다. 이미지를 여러 그룹으로 묶는 것을 들 수 있다. 혹은 뉴스를 관련 내용끼리 묶는 것도 들 수 있다.
  6. Embedding: 데이터의 관계를 찾는 것을 말한다. 예를 들자면 트위터 사용자의 친한 정도를 나타네는 것을 들 수 있다.

머신 러닝의 목표 / 전망

수학점 모델을 세우고, 데이터를 표현하고, 모델을 선택하고, 하이퍼 파라미터를 세우는 전 과정을 어떻게 할 수 있는가가 목표이다.