머신러닝

개요

1. 머신러닝의 정의

  • Machine Learning의 2가지 정의가 있는데, Arthur Samuel은 1959년 처음으로 Machine Learning이라는 용어를 사용하였다.

  • Arthur Samuel (1959)

    • 명시적으로 프로그램을 작성하지 않고 컴퓨터에 학습할 수 있는 능력을 부여하기 위한 연구 분야

“The field of study that gives computers the ability to learn without being explicitly programmed”

  • Machine Learning의 예 (y=3x)

    • 학습데이터 (1,3), (3,9), (4,12), (6,18)
    • 컴퓨터에 y=3x의 함수를 프로그래밍하지 않아도 앞의 학습데이터를 학습한 후 (8, ?) (10, ?)의 질문을 던져도 그 대답을 할 수 있게 만드는 것.
  • Tom Mitchell은 1997년에 Machine Learning에 대해 현대적으로 재 정의를 하였다.

  • Tom Mitchell (Carnegie Mellon University, 1997)

    • 만약 컴퓨터 프로그램이 특정한 태스크 T를 수행할 때 성능 P만큼 개선되는 경험 E를 보이면, 그 컴퓨터 프로그램은 태스크 T와 성능 P에 대해 경험 E를 학습했다라고 할 수 있다.

"A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E."

  • 문제) Suppose your email program watches which emails you do or do not mark as spam, and based on that learns how to better filter spam. What is the task T in this setting?

① Classifying emails as spam or not spam. ② Watching you label emails as spam or not spam. ③ The number (or fraction) of emails correctly classified as spam/not spam.

  • Training Set (학습 데이터)

    • Machine Learning이 학습 모델을 만들기 위해 사용하는 데이터
    • 학습 데이터가 나쁘면 실제 현장의 특성을 제대로 반영하지 못하므로, 학습 데이터 확보 시 실제 데이터의 특성이 잘 반영되고 편향 되지 않는 학습 데이터를 확보하는 것이 매우 중요함.
  • Model (학습 모델)

    • Machine Learning에서 구하려는 최종 결과물로 가설(Hypothesis)이라고도 부른다.
  • Inference (추론)

    • 학습된 모델을 실제 현장에서 사용하는 과정

2. 머신러닝의 분류

  • 학습 데이터에 레이블(label)이 있는 경우와 그렇지 않은 경우에 따라 지도학습과 비지도학습으로 구분하고, 강화학습은 지도학습 중 하나로 분류되거나 또는 독립적인 세 번째 머신러닝 모델로 분류하기도 한다.
Type Task Algorithms
지도 학습(Supervised Learning) 분류(Classification) KNN : K Nearest Neighbor
SVM : Support Vector Machine
Decision Tree (의사결정 나무)
Logistic Regression
예측(Prediction) Linear Regression (선형 회귀)
비지도 학습 (Unsupervised Learning) 군집(Clustering) K-Means Clustering
DBSCAN Clustering
Hierarchical Clustering (계층형 군집)
강화 학습 (Reinforcement Learning) MDP : Markov Decision Process

Logistic Regression (tensorflow, keras 에서 많이 사용)

3. 지도 학습

  • label이 있는 학습 데이터(Training set)를 이용해서 학습

  • 분류와 회귀의 비교

구분 분류 (Classification) 회귀 (Regression)
결과 학습데이터의 레이블 중 하나를 예측
(discrete)
연속된 값을 예측
(Continuous)
예제 학습데이터가 A, B, C 인 경우 결과는 A, B, C 중 하나다.
예) 스팸메일 필터
결과 값이 어떠한 값도 나올수 있다.
예) 주가 분석 예측

4. 비지도 학습

  • label이 없는 학습 데이터(Tranining set)를 이용해서 학습

  • 분류와 군집의 비교

구분 분류 (Classification) 군집 (Clustering)
공통점 입력된 데이터들이 어떤 형태로 그룹을 형성하는지가 관심사
차이점 레이블이 있다. 레이블이 없다.
예) 의학 임상실험 환자군 구별
구매자 유형 분류

5. 강화학습

  • 상과 벌이라는 보상을 통해 현재의 행위의 그 방향 혹은 반대 방향으로 행위를 강화화는 학습 방향

  • 강화학습

    • 시행착오 과정을 거쳐 학습하기 때문에 사람의 학습방식과 유사
    • Agent는 환경으로부터 상태를 관측하고 이에 따른 적절한 행동을 하 면 이 행동을 기준으로 환경으로부터 보상을 받는다.
    • 관측 – 행동 – 보상의 상호작용을 반복하면서 환경으로부터 얻는 보상을 최대화하는 태스크를 수행하기 위한 일련의 과정.
    • 관측 – 행동 – 보상의 과정을 경험(Experience)이라고도 한다.

6. 과적합 (Overfitting)

  • 학습 데이터에 너무 지나치게 맞추다 보면 일반화 성능이 떨어지는 모델을 얻게 되는 현상을 과적합(Overfitting)이라고 한다

학습데이터가 적을때도 over-fitted 발생

학습데이터가 잘 준비해야 트레이닝 할때와 new Data로 할때의 Accuracy 의 차이를 극복 할수 있다.

  • Under Fitting
    • 적정 수준의 학습을 하지 못하여 실제 성능이 떨어지는 경우
  • Normal Fitting (Generalized Fitting)
    • 적정 수준의 학습으로 실제 적정한 일반화 수준을 나타냄. 기계 학습이 지향하는 수준.
  • Over Fitting
    • 학습 데이터에 성능이 좋지만 실제 데이터에 관해 성능이 떨어짐. 특히 조심해야 함.

드롭아웃(Dropout)
Node 중의 일부를 꺼버리는 것. (과적합을 줄일 수 있는 방법 중 하나)

  • 학습 데이터의 일부를 따로 떼어 내어 학습이 아닌 검증용으로 사용하는 기법
    • 보유하고 있는 데이터셋을 Training set (50%~60%), Validation set (20%~25%), Test set (20%~25%) 으로 구분

(1) Training set 을 가지고 예측 혹은 분류 모델을 훈련시키고

(2) Validation set을 가지고서 훈련 중인 모델이 혹시 과적합(over-fitting)인지 검증, 감시를 하면서 최적의 적정 적합 (generalized-fitting) 구간을 찾아 모델을 선택한 후

(3) Test set을 사용해서 최종 모델(final model)에 대해서 평가

  • 교차 검증 (Cross Validation)
    • 학습 데이터를 용도별로 나누는 것은 같은데, 처음에 나눠진 데이터를 그대로 사용하는 것이 아니라 중간중간에 서로 다시 나눠 줌

인공지능의 등장

John McCarthy (‘1927 ~ ‘2011)

  • 1956년 John McCarthy가 Dartmouth 대학 Conference에서 최초로 인공지능 용어를 사용
  • 1958년 LISP 프로그래밍 언어 개발 (인공지능용 프로그래밍 언어)
  • 인공지능 연구에 지대한 영향을 미침

Arthur Samuel (‘1901 ~ ‘1990)

  • 1959년 논문에서 Machine Learning 용어를 처음 사용
  • “명시적으로 프로그램을 작성하지 않고 컴퓨터에 학습할 수 있는 능력을 부여하기 위한 연구 분야”
  • 2000년대 Deep Learning으로 기계학습의 비약적인 발전

Frank Rosenblatt (‘1928 ~ ‘1971)

  • 1958년 인공신경망(ANN: Artificial Neural Network)을 실제로 구현한 Perceptron 이론을 발표
  • 맥컬록과 피츠의 인공신경망 이론에 헵(Hebb)의 생물학적 신경망의 학습효과를 인공신경망에 적용
  • 400여 개 빛 감지 센서와 512개의 증폭기, 40개 제어 부품으로 8개의 뉴런(Neuron, 신경세포)을 시뮬레이션 함

Perceptron 이론의 한계 발견

  • Perceptron은 학습이 진행될수록 선형 분리(linear boundary)를 업데이트하면서 학습
  • 하지만, 간단한 XOR문제에는 적용할 수 없는 한계가 발견 -> 인공지능의 외면

Natural Language Processing - 자연어 처리

Speech Recognition - 음성 처리

Speech to Text - 음성 -> 텍스트

Text to Speech - 텍스트 -> 음성

results matching ""

    No results matching ""