본문 바로가기
Machine Learning

[머신러닝] 기초 용어 및 개념

by onejunu 2020. 1. 8.

1. 지도 학습과 비지도 학습

 

지도학습(supervised learning) : 정답을 알려주면서 진행되는 학습

 

ex) 숫자 손글씨 이미지를 '데이터' 라고 하고 이미지의 답들을 '레이블(label)' 이라고 한다.

 

비지도 학습(unsupervised learning): 레이블이 없이 진행되는 학습. 보통 데이터의 패턴을 찾아내야 할때 사용한다.

 

 

2. 분류와 회귀

분류 (classification)는 '이진분류' ,'다중분류' 와 '다중 레이블 분류' 로 나뉜다

 

이진분류 : (예,아니요) , (남자,여자) 와 같이 둘 중 하나의 값으로 분류하는 경우

 

다중분류: (빨강,녹색,파랑) 중 하나의 색으로 분류하거나 0-9 까지의 숫자 중에서 하나의 숫자로 분류하기

 

다중 레이블 분류: 데이터가 입력 되었을 때 2개 이상의 레이블로 분류할 경우

ex) 아래의 그림과 같은 경우 모델의 예측값은 (네모,동그라미) 가 된다.

다중 레이블 분류 예제

 

 

회귀 : 입력된 데이터에 대해 연속된 값으로 예측한다. 예를 들어 온도를 35도 ,34.5도와 같이 정해진 레이블이 아닌 연속성을 가진 수치로 예측한다.

 

 

3. 과대적합과 과소적합

 

과소적합의 예

 

사물 분류값 생김새
야구공 동그라미
농구공 동그라미
테니스공 동그라미
딸기 과일 세모
포도알 과일  동그라미

 

위와 같은 학습데이터가 있을 때 우리의 머신은 생김새가 "동그라미" 이면 "공" 이라고 예측합니다.

 

하지만 공을 구별할 수 있는 특징이 너무 적어서 포도알을 보고도 "공" 이라고 예측할 수있습니다.

 

과소적합은 충분하지 못한 특징만으로 학습되어 특정 특징에만 편향되게 학습된 모델을 과소 적합된 모델이라고 부릅니다.

 

 

 

 

 

 

과대적합의 예

 

 

사물 분류값 생김새 크기 줄무늬
야구공 원형 중간 있음
농구공 원형 있음
테니스공 원형 중간 있음
딸기 과일 세모 중간 없음
포도알 과일 원형 작음 없음

 

위의 표와 같은 학습데이터가 있을 때 우리의 머신은 생김새가 "원형" 이고 크기가 "작지않음"이며 줄무늬가 "있음"이면 공이라 예측합니다.

 

그렇다면

사물 분류값 생김새 크기 줄무늬
골프공 원형 작음 없음
수박 과일 원형 있음
당구공 원형 중간 없음
럭비공 타원형 있음
볼링공 원형 큼  없음

 

위와 같은 표의 테스트 데이터가 주어진다면 아무것도 맞추지 못합니다

 

왜냐하면 생김새가 원형이고 크기가 작지않음 이며 줄무늬가 있음을 공이라고 예측했지만 위 해당데이터는 수박인데 수박은 공이 아니기 때

 

문입니다. 또한 실제 공을 공이라고 예측하지도 못합니다. 이와 같은것을 과대적합 모델이라고 합니다.

 

 

 

4. 혼동 행렬 ( confusion matrix)

                                                                                   예측값
    A B C D
실제값 A 9 1 0 0
B 1 15 3 1
C 5 0 24 1
D 0 4 1 15

 

A 를 10번 보여줬을 때 A라고 9번 말하고 B라고 1번 말함

 

B를 20번 보여줬을 때 A라고 1번 말하고 15번 B라고 말하고 3번 C라고 말하고 1번 D라고 말함

 

5. 정밀도와 재현율과 F1점수

 

                                                                                   예측값
    A B C D
실제값 A 9 1 0 0
B 1 15 3 1
C 5 0 24 1
D 0 4 1 15

 

정밀도 = TP / (TP + FP)

재현율 = TP / (TP + FN)

 

A 에 대한 정밀도 9 / 9 + (1 + 5 + 0 ) = 0.6

B 에 대한 정밀도 15 / 15 + (1+ 0+ 4 ) = 0.75

C 에 대한 정밀도 24 / 24 + (0 + 3+ 1) = 0.85

D 에 대한 정밀도 15 / 15 + (0 + 1 + 1) = 0.88

 

평균 정밀도 = 0.77

 

정밀도는 혼동행렬에서 해당되는 값의 TP 를 해당되는 의 값을 다 더한것으로 나눈것이다.

 

A에 대한 재현율 9 / 9 + ( 1 + 0 + 0) = 0.9

B에 대한 재현율 15 / 15+( 1+ 3 + 1) = 0.75

C에 대한 재현율 24 / 24+ (5+0+1) = 0.8

D에 대한 재현율 15 / 15+ (0+4+1) =0.75

 

평균 재현율 = 0.8

 

재현율는 혼동행렬에서 해당되는 값의 TP 를 해당되는 의 값을 다 더한것으로 나눈것이다.

 

 

F1 점수 = 2 * 평균재현율* 평균정밀도 / (평균재현율 + 평균정밀도)

 

위의 예에서 F1 점수 구하기

 

2 * 0.8 * 0.77 / (0.8 +0.77) = 0.78

 

 

 

6. K-폴드 교차 검증

 

 

 

 

보통 위와 같이 데이터를 나누고 학습데이터의 10퍼센트를 검증데이터로 씁니다.

 

하지만 검증 정확도 문제가 있기 때문에 학습데이터의 일부를 검증데이터로 쓸 때 n번 학습데이터를 나누어 검증 데이터로 쓰는 것을 

 

k폴드 교차 검증이라 합니다.

 

 

예를 들어 1번 부터 2000번 까지 학습데이터가 있다고 할때 

 

첫번째 검증데이터는 1번부터 100번 으로 선정하고 101번부터 2000번 까지 학습데이터로 사용합니다.

 

두번째 검증데이터는 101번부터 200번까지 선정하고 1번 부터 100번 그리고 201번부터 2000번까지 학습데이터로 사용합니다.

 

세번째 검증데이터는 201번부터 300번까지 선정하고 1번부터 200번 그리고 301번부터 2000번까지 학습데이터로 사용합니다.

 

......

 

 

최종 검증 정확도 = (1차 검증 정확도 + 2차검증 정확도 + .... + n차 검증 정확도) / n

 

'Machine Learning' 카테고리의 다른 글

[머신러닝] kNN 알고리즘  (2) 2020.01.09

댓글