Share
Sign In
📚

지도학습

기계학습의 궁극적인 목표는 레이블(Label)이 있는 학습 데이터 셋(training dataset)을 이용하여 학습한 모델을 가지고 시험 데이터 셋(test dataset)를 예측하는 것이다. 이때 시험 데이터 셋은 학습 과정에서 참조할 수 없다고 가정하기 때문에 기계학습 모델은 학습 데이터만을 가지고 시험 데이터를 잘 예측하도록 학습하는 것이 중요하다.
지도학습
지도 학습 (Supervised Learning)은 훈련 데이터(Training Data)로부터 하나의 함수를 유추해내기 위한 기계 학습(Machine Learning)의 한 방법이다. 또 지도학습이란 레이블(label)이 있는 데이터 세트를 가지고 알고리즘으로 데이터를 구별하는 판별식로도 볼 수 있다.
훈련 데이터는 일반적으로 입력 객체에 대한 속성을 벡터 형태로 포함하고 있으며 각각의 벡터에 대해 원하는 결과가 무엇인지 표시되어 있다. 이렇게 유추된 함수 중 연속적인 값을 출력하는 것을 회귀분석(Regression)이라 하고 주어진 입력 벡터가 어떤 종류의 값인지 표식하는 것을 분류(Classification)라 한다.
앞서 설명과 같이 지도학습은 레이블을 가지고 분류 또는 예측하는 모델을 가리킨다 지도학습에도 크게 두 가지로 나뉜다.
1.
분류 모델 : 결과값이 레이블 중 하나로 고정되며, 새로운 입력 데이터가 속한 레이블 그룹으로 예측한다. → k-Nearest Neighbor(kNN), Support Vector Machine, Decision Tree
2.
예측 모델 : 회귀(Regression) 모델. 데이터의 특성(feature)과 레이블의 관계를 함수식으로 표현하는데 목적이 있으며 이를 바탕으로 오차 범위 내에 결과를 예측한다. → 로지스틱(logistic) 회귀
분류모델
k-Nearest Neighbor(kNN) 모델
kNN 모델은 가장 가까이 있는 학습 데이터 n개가 속한 그룹(레이블)으로 결정한다. 레이블된 학습 데이터 특성을 정량화하여 좌표 공간에 표현하는 작업이며, 새로운 데이터 중심 n(홀수)개 데이터 발견까지 가상의 원을 확장한다. 그리고 가장 많은 그룹으로 결정된다.
kNN 지도학습 모델은 일련의 학습 절차가 없다. 데이터가 들어오면 데이터간의 거리를 측정하기 때문에 Instance-based learning 또는 memory-based learning 이라고 하며 데이터로부터 모델을 생성해 과업을 수행하는 모델 기반(Model-Based learning)과는 구분된다. 이를 모델을 생성하지 않는 게으른 학습 모델(lazy learning model)이라고도 한다.
이때 k는 짝수 가 될수 없다.
이때 k = 1 또는 너무 작은 경우 노이즈의 너무 민감하다. 과적합(Overfitting)
k = 99 또는 너무 큰 경우 의사결정 경계가 둔감하다. 변별력이 없다. 과소적합(Underfitting)
적절한 k의 선택이 중요하며 너무 많지 않은 너무 적지도 않아야 한다.
kNN 모델에서 적절한 레이블을 나눌 특징을 선택하는 것 또한 중요하다.
사과와 바나나 배를 구분하고자 할때 색, 무게, 길이, 당도, 산도 중 가장 특징(feature)을 잘 구분 될 수 있는 기준이 필요하며 전문가의 선태깅 필요하기도 하다.
연관 문서 : Underfitting, Normalfitting, Overfitting.
Support Vector Machine(SVM) 모델
2개 그룹 분류에 사용되는 가정 보편적인 분류 기계학습 모델이다.
직각 좌표계에 학습 데이터 위치 공간(벡터공간)을 2개 그룹으로 분류하는 선형분리자로 각 데이터 셋을 분류한다. 이때 데이터의 특성(feature)의 수는 좌표계의 차원을 결정하며
다음과 같은 선형 분리자 식을 활용한다.
y=ωTx+by = \omega^Tx+b
\omega : 회전 b : 이동
이때 선형 분리자 식을 위에 그림에 적용해보자.
\omega^Tu+b>0 이면 세모 그룹으로 분류되고
\omega^Tu+b<0 이면 네모 그룹으로 분류된다.
이때 두 그룹 사이의 최대 거리를 마진(M, margin)이라고 하며,
처음 세모와 만나는 선 \omega^Tx_△+b = 1, 처음 네모와 만나는 선 \omega^Tx_■+b =-1
Support Vector 는 x_△,\space x_■ 이며 \omega^{T}(x_△-x_■)=2 가 된다.
M 구하기
M=ωω(xx)=ωT(xx)ω=2ωM = \cfrac{\omega}{||\omega||}(x_△-x_■)=\cfrac{\omega^T(x_△-x_■)}{||\omega||} = \cfrac{2}{||\omega||}
Lagrangian 이용 조건식 포함 최적화하기
L = \min\cfrac{1}{2}\space\lVert\omega\rVert^2-\sum_i\alpha_i\begin{bmatrix}y_i\space(\omega^Tx_i+b)-1\end{bmatrix}
최소화를 위해서 \omegab에 대해서 미분하고 위에 대입하여
dual Lagangian을 구하고 Lagangian multiplier
\alpha(>=0))에 대해서 최대값, 최소값을 구하는 문제이다.
SVM 알고리즘
N개 학습 데이터로 \alpha를 구하기 위한 행렬 H를 계산한다.
- 경사감소법 QP solver 프로그램으로 \alpha를 구한다.
하드 마진(Hard margin) 방법
- 빅 데이터의 경우 노이즈 경계식으로 구하기 어렵기 때문에 하드마진 방법을 사용한다.
소프트 마진(Soft margin) 방법
- 하드마진 방법의 한계점을 극복하기 위해서 제안된 방법, Support Vector 경게선에서 약간의 여유 slack을 도입하여 계산한다.
일반적인 SVM 알고리즘
비선형 분포의 경우 SVM
데이터 분포 선형(linear) 분리가 어려운 경우 사용한다.
1.
이때 차원을 하나 늘려 공간으로 변환한다.
2.
스칼라 곱이 용이한 변환홤수( tanh 과 같은)를 선정한다.
3.
선형 분류가 불가능한 현재 공간 분포를 변환함수로 선형 분류가 가능한 공간으로 변환한다.
4.
소프트 마진(Soft margin)을 이용해 분류한다.
Decision Tree 모델
의사결정 트리(De)는 귀납적 추론으로 불연속적인 데이터가 많고 노이즈에 강하고 이상치/에러값으로 부터 영향을 크게 받지 않는 robust한 지도학습 모델이다.
대체적으로 룰 기반(Rule based)의 환자기록 기반 증상유추, 대출자 신용평가, 대출자 상환불이행 가능성, 필기체 인식 등의 분야에서 사용된다.
일반적으로 root에서 각각의 branch로 뻗어나가 leap으로 가는 하향식(Top-down) 방식이다.
각 노드에는 속성 값(attribute value)과 이파리의 노드 속성값이 레이블을 결정하며, 상황(instance)은 의사결정 트리에서 일련의 속성값(경로)를 가리킨다.
이때 각 노드에서 질문에는 이등분 효과가 큰 속성에 대한 질문이 우선되어야 하며, 노드 수는 최소화되는 것이 좋고 키가 작고 가지가 적은 빈약한 나무가 학습에 좋다.
의사 결정트리에는 엔트로피(Entropy)와 정보 함수(information function)가 존재한다.
정보함수(information function)는 정보의 가치를 확률적으로 결정하고 발생할 확률이 작을수록 큰 정보값을 지닌다. 정보획득값(G)이 클수록 상위 의사결정 노드에 위치한다.
I(X):=log21p(x)I(X) := \log_2\cfrac{1}{p(x)}
엔트로피(Entropy)는 사건 집합의 순수성, 단일성 관점의 특성이다. 엔트로피를 나타내는 다음 식을 보자.
E(x):=i=1cpilog21p(Xi)=i=1cpilog21piE(x) := \sum_{i=1}^{c}p_i\log_2\cfrac{1}{p(X_i)}=\sum^{c}_{i=1}p_i\log_2\cfrac{1}{p_i}
정보획득 값과 후보속성
연관문서 바로가기
인공지능 개론
기계학습의 개요
AI 홈으로 돌아가기
인공지능 개론
메인으로 돌아가기
기계학습의 궁극적인 목표는 레이블(Label)이 있는 학습 데이터 셋(training dataset)을 이용하여 학습한 모델을 가지고 시험 데이터 셋(test dataset)를 예측하는 것이다. 이때 시험 데이터 셋은 학습 과정에서 참조할 수 없다고 가정하기 때문에 기계학습 모델은 학습 데이터만을 가지고 시험 데이터를 잘 예측하도록 학습하는 것이 중요하다.
지도학습
지도 학습 (Supervised Learning)은 훈련 데이터(Training Data)로부터 하나의 함수를 유추해내기 위한 기계 학습(Machine Learning)의 한 방법이다. 또 지도학습이란 레이블(label)이 있는 데이터 세트를 가지고 알고리즘으로 데이터를 구별하는 판별식로도 볼 수 있다.
훈련 데이터는 일반적으로 입력 객체에 대한 속성을 벡터 형태로 포함하고 있으며 각각의 벡터에 대해 원하는 결과가 무엇인지 표시되어 있다. 이렇게 유추된 함수 중 연속적인 값을 출력하는 것을 회귀분석(Regression)이라 하고 주어진 입력 벡터가 어떤 종류의 값인지 표식하는 것을 분류(Classification)라 한다.
앞서 설명과 같이 지도학습은 레이블을 가지고 분류 또는 예측하는 모델을 가리킨다 지도학습에도 크게 두 가지로 나뉜다.
1.
분류 모델 : 결과값이 레이블 중 하나로 고정되며, 새로운 입력 데이터가 속한 레이블 그룹으로 예측한다. → k-Nearest Neighbor(kNN), Support Vector Machine, Decision Tree
2.
예측 모델 : 회귀(Regression) 모델. 데이터의 특성(feature)과 레이블의 관계를 함수식으로 표현하는데 목적이 있으며 이를 바탕으로 오차 범위 내에 결과를 예측한다. → 로지스틱(logistic) 회귀
분류모델
k-Nearest Neighbor(kNN) 모델
kNN 모델은 가장 가까이 있는 학습 데이터 n개가 속한 그룹(레이블)으로 결정한다. 레이블된 학습 데이터 특성을 정량화하여 좌표 공간에 표현하는 작업이며, 새로운 데이터 중심 n(홀수)개 데이터 발견까지 가상의 원을 확장한다. 그리고 가장 많은 그룹으로 결정된다.
kNN 지도학습 모델은 일련의 학습 절차가 없다. 데이터가 들어오면 데이터간의 거리를 측정하기 때문에 Instance-based learning 또는 memory-based learning 이라고 하며 데이터로부터 모델을 생성해 과업을 수행하는 모델 기반(Model-Based learning)과는 구분된다. 이를 모델을 생성하지 않는 게으른 학습 모델(lazy learning model)이라고도 한다.
이때 k는 짝수 가 될수 없다.
이때 k = 1 또는 너무 작은 경우 노이즈의 너무 민감하다. 과적합(Overfitting)
k = 99 또는 너무 큰 경우 의사결정 경계가 둔감하다. 변별력이 없다. 과소적합(Underfitting)
적절한 k의 선택이 중요하며 너무 많지 않은 너무 적지도 않아야 한다.
kNN 모델에서 적절한 레이블을 나눌 특징을 선택하는 것 또한 중요하다.
사과와 바나나 배를 구분하고자 할때 색, 무게, 길이, 당도, 산도 중 가장 특징(feature)을 잘 구분 될 수 있는 기준이 필요하며 전문가의 선태깅 필요하기도 하다.
연관 문서 : Underfitting, Normalfitting, Overfitting.
Support Vector Machine(SVM) 모델
2개 그룹 분류에 사용되는 가정 보편적인 분류 기계학습 모델이다.
직각 좌표계에 학습 데이터 위치 공간(벡터공간)을 2개 그룹으로 분류하는 선형분리자로 각 데이터 셋을 분류한다. 이때 데이터의 특성(feature)의 수는 좌표계의 차원을 결정하며
다음과 같은 선형 분리자 식을 활용한다.
y=ωTx+by = \omega^Tx+b
\omega : 회전 b : 이동
이때 선형 분리자 식을 위에 그림에 적용해보자.
\omega^Tu+b>0 이면 세모 그룹으로 분류되고
\omega^Tu+b<0 이면 네모 그룹으로 분류된다.
이때 두 그룹 사이의 최대 거리를 마진(M, margin)이라고 하며,
처음 세모와 만나는 선 \omega^Tx_△+b = 1, 처음 네모와 만나는 선 \omega^Tx_■+b =-1
Support Vector 는 x_△,\space x_■ 이며 \omega^{T}(x_△-x_■)=2 가 된다.
M 구하기
M=ωω(xx)=ωT(xx)ω=2ωM = \cfrac{\omega}{||\omega||}(x_△-x_■)=\cfrac{\omega^T(x_△-x_■)}{||\omega||} = \cfrac{2}{||\omega||}
Lagrangian 이용 조건식 포함 최적화하기
L = \min\cfrac{1}{2}\space\lVert\omega\rVert^2-\sum_i\alpha_i\begin{bmatrix}y_i\space(\omega^Tx_i+b)-1\end{bmatrix}
최소화를 위해서 \omegab에 대해서 미분하고 위에 대입하여
dual Lagangian을 구하고 Lagangian multiplier
\alpha(>=0))에 대해서 최대값, 최소값을 구하는 문제이다.
SVM 알고리즘
N개 학습 데이터로 \alpha를 구하기 위한 행렬 H를 계산한다.
- 경사감소법 QP solver 프로그램으로 \alpha를 구한다.
하드 마진(Hard margin) 방법
- 빅 데이터의 경우 노이즈 경계식으로 구하기 어렵기 때문에 하드마진 방법을 사용한다.
소프트 마진(Soft margin) 방법
- 하드마진 방법의 한계점을 극복하기 위해서 제안된 방법, Support Vector 경게선에서 약간의 여유 slack을 도입하여 계산한다.
일반적인 SVM 알고리즘
비선형 분포의 경우 SVM
데이터 분포 선형(linear) 분리가 어려운 경우 사용한다.
1.
이때 차원을 하나 늘려 공간으로 변환한다.
2.
스칼라 곱이 용이한 변환홤수( tanh 과 같은)를 선정한다.
3.
선형 분류가 불가능한 현재 공간 분포를 변환함수로 선형 분류가 가능한 공간으로 변환한다.
4.
소프트 마진(Soft margin)을 이용해 분류한다.
Decision Tree 모델
의사결정 트리(De)는 귀납적 추론으로 불연속적인 데이터가 많고 노이즈에 강하고 이상치/에러값으로 부터 영향을 크게 받지 않는 robust한 지도학습 모델이다.
대체적으로 룰 기반(Rule based)의 환자기록 기반 증상유추, 대출자 신용평가, 대출자 상환불이행 가능성, 필기체 인식 등의 분야에서 사용된다.
일반적으로 root에서 각각의 branch로 뻗어나가 leap으로 가는 하향식(Top-down) 방식이다.
각 노드에는 속성 값(attribute value)과 이파리의 노드 속성값이 레이블을 결정하며, 상황(instance)은 의사결정 트리에서 일련의 속성값(경로)를 가리킨다.
이때 각 노드에서 질문에는 이등분 효과가 큰 속성에 대한 질문이 우선되어야 하며, 노드 수는 최소화되는 것이 좋고 키가 작고 가지가 적은 빈약한 나무가 학습에 좋다.
의사 결정트리에는 엔트로피(Entropy)와 정보 함수(information function)가 존재한다.
정보함수(information function)는 정보의 가치를 확률적으로 결정하고 발생할 확률이 작을수록 큰 정보값을 지닌다. 정보획득값(G)이 클수록 상위 의사결정 노드에 위치한다.
I(X):=log21p(x)I(X) := \log_2\cfrac{1}{p(x)}
엔트로피(Entropy)는 사건 집합의 순수성, 단일성 관점의 특성이다. 엔트로피를 나타내는 다음 식을 보자.
E(x):=i=1cpilog21p(Xi)=i=1cpilog21piE(x) := \sum_{i=1}^{c}p_i\log_2\cfrac{1}{p(X_i)}=\sum^{c}_{i=1}p_i\log_2\cfrac{1}{p_i}
정보획득 값과 후보속성
연관문서 바로가기
인공지능 개론
기계학습의 개요
AI 홈으로 돌아가기
인공지능 개론
메인으로 돌아가기
기계학습의 궁극적인 목표는 레이블(Label)이 있는 학습 데이터 셋(training dataset)을 이용하여 학습한 모델을 가지고 시험 데이터 셋(test dataset)를 예측하는 것이다. 이때 시험 데이터 셋은 학습 과정에서 참조할 수 없다고 가정하기 때문에 기계학습 모델은 학습 데이터만을 가지고 시험 데이터를 잘 예측하도록 학습하는 것이 중요하다.
지도학습
지도 학습 (Supervised Learning)은 훈련 데이터(Training Data)로부터 하나의 함수를 유추해내기 위한 기계 학습(Machine Learning)의 한 방법이다. 또 지도학습이란 레이블(label)이 있는 데이터 세트를 가지고 알고리즘으로 데이터를 구별하는 판별식로도 볼 수 있다.
훈련 데이터는 일반적으로 입력 객체에 대한 속성을 벡터 형태로 포함하고 있으며 각각의 벡터에 대해 원하는 결과가 무엇인지 표시되어 있다. 이렇게 유추된 함수 중 연속적인 값을 출력하는 것을 회귀분석(Regression)이라 하고 주어진 입력 벡터가 어떤 종류의 값인지 표식하는 것을 분류(Classification)라 한다.
앞서 설명과 같이 지도학습은 레이블을 가지고 분류 또는 예측하는 모델을 가리킨다 지도학습에도 크게 두 가지로 나뉜다.
1.
분류 모델 : 결과값이 레이블 중 하나로 고정되며, 새로운 입력 데이터가 속한 레이블 그룹으로 예측한다. → k-Nearest Neighbor(kNN), Support Vector Machine, Decision Tree
2.
예측 모델 : 회귀(Regression) 모델. 데이터의 특성(feature)과 레이블의 관계를 함수식으로 표현하는데 목적이 있으며 이를 바탕으로 오차 범위 내에 결과를 예측한다. → 로지스틱(logistic) 회귀
분류모델
k-Nearest Neighbor(kNN) 모델
kNN 모델은 가장 가까이 있는 학습 데이터 n개가 속한 그룹(레이블)으로 결정한다. 레이블된 학습 데이터 특성을 정량화하여 좌표 공간에 표현하는 작업이며, 새로운 데이터 중심 n(홀수)개 데이터 발견까지 가상의 원을 확장한다. 그리고 가장 많은 그룹으로 결정된다.
kNN 지도학습 모델은 일련의 학습 절차가 없다. 데이터가 들어오면 데이터간의 거리를 측정하기 때문에 Instance-based learning 또는 memory-based learning 이라고 하며 데이터로부터 모델을 생성해 과업을 수행하는 모델 기반(Model-Based learning)과는 구분된다. 이를 모델을 생성하지 않는 게으른 학습 모델(lazy learning model)이라고도 한다.
이때 k는 짝수 가 될수 없다.
이때 k = 1 또는 너무 작은 경우 노이즈의 너무 민감하다. 과적합(Overfitting)
k = 99 또는 너무 큰 경우 의사결정 경계가 둔감하다. 변별력이 없다. 과소적합(Underfitting)
적절한 k의 선택이 중요하며 너무 많지 않은 너무 적지도 않아야 한다.
kNN 모델에서 적절한 레이블을 나눌 특징을 선택하는 것 또한 중요하다.
사과와 바나나 배를 구분하고자 할때 색, 무게, 길이, 당도, 산도 중 가장 특징(feature)을 잘 구분 될 수 있는 기준이 필요하며 전문가의 선태깅 필요하기도 하다.
연관 문서 : Underfitting, Normalfitting, Overfitting.
Support Vector Machine(SVM) 모델
2개 그룹 분류에 사용되는 가정 보편적인 분류 기계학습 모델이다.
직각 좌표계에 학습 데이터 위치 공간(벡터공간)을 2개 그룹으로 분류하는 선형분리자로 각 데이터 셋을 분류한다. 이때 데이터의 특성(feature)의 수는 좌표계의 차원을 결정하며
다음과 같은 선형 분리자 식을 활용한다.
y=ωTx+by = \omega^Tx+b
\omega : 회전 b : 이동
이때 선형 분리자 식을 위에 그림에 적용해보자.
\omega^Tu+b>0 이면 세모 그룹으로 분류되고
\omega^Tu+b<0 이면 네모 그룹으로 분류된다.
이때 두 그룹 사이의 최대 거리를 마진(M, margin)이라고 하며,
처음 세모와 만나는 선 \omega^Tx_△+b = 1, 처음 네모와 만나는 선 \omega^Tx_■+b =-1
Support Vector 는 x_△,\space x_■ 이며 \omega^{T}(x_△-x_■)=2 가 된다.
M 구하기
M=ωω(xx)=ωT(xx)ω=2ωM = \cfrac{\omega}{||\omega||}(x_△-x_■)=\cfrac{\omega^T(x_△-x_■)}{||\omega||} = \cfrac{2}{||\omega||}
Lagrangian 이용 조건식 포함 최적화하기
L = \min\cfrac{1}{2}\space\lVert\omega\rVert^2-\sum_i\alpha_i\begin{bmatrix}y_i\space(\omega^Tx_i+b)-1\end{bmatrix}
최소화를 위해서 \omegab에 대해서 미분하고 위에 대입하여
dual Lagangian을 구하고 Lagangian multiplier
\alpha(>=0))에 대해서 최대값, 최소값을 구하는 문제이다.
SVM 알고리즘
N개 학습 데이터로 \alpha를 구하기 위한 행렬 H를 계산한다.
- 경사감소법 QP solver 프로그램으로 \alpha를 구한다.
하드 마진(Hard margin) 방법
- 빅 데이터의 경우 노이즈 경계식으로 구하기 어렵기 때문에 하드마진 방법을 사용한다.
소프트 마진(Soft margin) 방법
- 하드마진 방법의 한계점을 극복하기 위해서 제안된 방법, Support Vector 경게선에서 약간의 여유 slack을 도입하여 계산한다.
일반적인 SVM 알고리즘
비선형 분포의 경우 SVM
데이터 분포 선형(linear) 분리가 어려운 경우 사용한다.
1.
이때 차원을 하나 늘려 공간으로 변환한다.
2.
스칼라 곱이 용이한 변환홤수( tanh 과 같은)를 선정한다.
3.
선형 분류가 불가능한 현재 공간 분포를 변환함수로 선형 분류가 가능한 공간으로 변환한다.
4.
소프트 마진(Soft margin)을 이용해 분류한다.
Decision Tree 모델
의사결정 트리(De)는 귀납적 추론으로 불연속적인 데이터가 많고 노이즈에 강하고 이상치/에러값으로 부터 영향을 크게 받지 않는 robust한 지도학습 모델이다.
대체적으로 룰 기반(Rule based)의 환자기록 기반 증상유추, 대출자 신용평가, 대출자 상환불이행 가능성, 필기체 인식 등의 분야에서 사용된다.
일반적으로 root에서 각각의 branch로 뻗어나가 leap으로 가는 하향식(Top-down) 방식이다.
각 노드에는 속성 값(attribute value)과 이파리의 노드 속성값이 레이블을 결정하며, 상황(instance)은 의사결정 트리에서 일련의 속성값(경로)를 가리킨다.
이때 각 노드에서 질문에는 이등분 효과가 큰 속성에 대한 질문이 우선되어야 하며, 노드 수는 최소화되는 것이 좋고 키가 작고 가지가 적은 빈약한 나무가 학습에 좋다.
의사 결정트리에는 엔트로피(Entropy)와 정보 함수(information function)가 존재한다.
정보함수(information function)는 정보의 가치를 확률적으로 결정하고 발생할 확률이 작을수록 큰 정보값을 지닌다. 정보획득값(G)이 클수록 상위 의사결정 노드에 위치한다.
I(X):=log21p(x)I(X) := \log_2\cfrac{1}{p(x)}
엔트로피(Entropy)는 사건 집합의 순수성, 단일성 관점의 특성이다. 엔트로피를 나타내는 다음 식을 보자.
E(x):=i=1cpilog21p(Xi)=i=1cpilog21piE(x) := \sum_{i=1}^{c}p_i\log_2\cfrac{1}{p(X_i)}=\sum^{c}_{i=1}p_i\log_2\cfrac{1}{p_i}
정보획득 값과 후보속성
연관문서 바로가기
인공지능 개론
기계학습의 개요
AI 홈으로 돌아가기
인공지능 개론
메인으로 돌아가기
기계학습의 궁극적인 목표는 레이블(Label)이 있는 학습 데이터 셋(training dataset)을 이용하여 학습한 모델을 가지고 시험 데이터 셋(test dataset)를 예측하는 것이다. 이때 시험 데이터 셋은 학습 과정에서 참조할 수 없다고 가정하기 때문에 기계학습 모델은 학습 데이터만을 가지고 시험 데이터를 잘 예측하도록 학습하는 것이 중요하다.
지도학습
지도 학습 (Supervised Learning)은 훈련 데이터(Training Data)로부터 하나의 함수를 유추해내기 위한 기계 학습(Machine Learning)의 한 방법이다. 또 지도학습이란 레이블(label)이 있는 데이터 세트를 가지고 알고리즘으로 데이터를 구별하는 판별식로도 볼 수 있다.
훈련 데이터는 일반적으로 입력 객체에 대한 속성을 벡터 형태로 포함하고 있으며 각각의 벡터에 대해 원하는 결과가 무엇인지 표시되어 있다. 이렇게 유추된 함수 중 연속적인 값을 출력하는 것을 회귀분석(Regression)이라 하고 주어진 입력 벡터가 어떤 종류의 값인지 표식하는 것을 분류(Classification)라 한다.
앞서 설명과 같이 지도학습은 레이블을 가지고 분류 또는 예측하는 모델을 가리킨다 지도학습에도 크게 두 가지로 나뉜다.
1.
분류 모델 : 결과값이 레이블 중 하나로 고정되며, 새로운 입력 데이터가 속한 레이블 그룹으로 예측한다. → k-Nearest Neighbor(kNN), Support Vector Machine, Decision Tree
2.
예측 모델 : 회귀(Regression) 모델. 데이터의 특성(feature)과 레이블의 관계를 함수식으로 표현하는데 목적이 있으며 이를 바탕으로 오차 범위 내에 결과를 예측한다. → 로지스틱(logistic) 회귀
분류모델
k-Nearest Neighbor(kNN) 모델
kNN 모델은 가장 가까이 있는 학습 데이터 n개가 속한 그룹(레이블)으로 결정한다. 레이블된 학습 데이터 특성을 정량화하여 좌표 공간에 표현하는 작업이며, 새로운 데이터 중심 n(홀수)개 데이터 발견까지 가상의 원을 확장한다. 그리고 가장 많은 그룹으로 결정된다.
kNN 지도학습 모델은 일련의 학습 절차가 없다. 데이터가 들어오면 데이터간의 거리를 측정하기 때문에 Instance-based learning 또는 memory-based learning 이라고 하며 데이터로부터 모델을 생성해 과업을 수행하는 모델 기반(Model-Based learning)과는 구분된다. 이를 모델을 생성하지 않는 게으른 학습 모델(lazy learning model)이라고도 한다.
이때 k는 짝수 가 될수 없다.
이때 k = 1 또는 너무 작은 경우 노이즈의 너무 민감하다. 과적합(Overfitting)
k = 99 또는 너무 큰 경우 의사결정 경계가 둔감하다. 변별력이 없다. 과소적합(Underfitting)
적절한 k의 선택이 중요하며 너무 많지 않은 너무 적지도 않아야 한다.
kNN 모델에서 적절한 레이블을 나눌 특징을 선택하는 것 또한 중요하다.
사과와 바나나 배를 구분하고자 할때 색, 무게, 길이, 당도, 산도 중 가장 특징(feature)을 잘 구분 될 수 있는 기준이 필요하며 전문가의 선태깅 필요하기도 하다.