지시 ch6) 머신러닝 기초
연역 추론
- 일반적인 사실/이론 -> 구체적인 상황/예시
- 특화 Specialization
ex) 모든 사람은 죽는다 + 소크라테스는 사람이다 -> 소크라테스는 죽는다
- 전문가 시스템
=> 이론이 맞다면, 확실하게 옳은 결론을 내림
귀납 추론
- 구체적인 상황/예시 -> 일반적인 사실/이론
- 일반화 Generalization
- 머신 러닝
=> 확실한 결론은 없고, 가능성에 기반한 결론을 내림
머신러닝이란 ?
1. 지도 학습 (Supervised Algorithm)
- 주어진 정답에 따라 학습하는 방법
2. 비지도 학습 (Unsupervised Algorithm)
- 정답지 없이 데이터의 패턴 등을 학습하는 방법
- 클러스터링 (Clustering)
- 데이터 (Data)를 활용해 시스템을 개선해 나가는 방법
- Dataset / Sample
- 속성, 특성 (Attribute, Feature) + 속성값 (Attribute Value)
Dataset (x1, x2, ... 순서가 상관이 없음)
- D = {x1, x2, ..., xm)
Sample (순서가 정해져 있어야 함)
- xi = [xi1, xi2, ..., xid]
머신러닝의 알고리즘 분류
1. 분류 문제 (Classification Problem)
- 예측하는 값이 이산적인 경우
- 이진 분류 (Binary Classification) vs 다중 분류 (Multi-class Classification)
2. 회귀 문제 (Regression Problem)
- 예측하는 값이 연속적인 경우 (numerical)
머신러닝 기본 용어
1. 가설 공간 (Hypothesis Space)
- 가능한 모든 함수들의 집합
2. 모델 (Model)
- 특정 문제를 해결하기 위해 학습한 함수나 알고리즘
3. Target function (정답)
- 입력 데이터와 출력 데이터 사이의 실제 관계
4. 학습/훈련 (Learning, Training)
- Hypothesis를 Target function과 근사하게 만드는 과정
5. Evaluation
- 후보 가설을 평가하는 방법
- 모델이 적합한지 안한지를 판단
성능이 동일할 경우 -> 간단한 모델이 더 좋은 모델임 (오컬의 면도날 - Occam's Razor)
-> 편차 제곱의 합을 줄이는 것이 목적
편향(Bias)과 분산(Variance)
- 편향
- 모델이 실제 값과 얼마나 차이가 나는가?
- 과소적합 문제
- 분산
- 모델이 훈련 데이터에 얼마나 민감하게 반응하는가?
- 과대적합 문제
편향과 분산은 Trade Off
overfitting -> 분산 커지고, 편향은 낮아짐
머신러닝 평가 방법
1. 학습 데이터셋 (Training Dataset)
2. 검증 데이터셋 (Validation Dataset)
3. 테스트 데이터셋 (Test Dataset)
회귀 분석의 성능측정
1. 평균 제곱 오차 (Mean Squared Error, MSE)
- 문제점 : 데이터의 스케일이 커짐 -> 그래서 평균제곱근 오차 사용
2. 평균제곱근오차 (Root Mean Squared Error, RMSE)
- 문제점 : 정확한 스케일링이 아님
(하나씩 루트를 씌어야하는데 그것이 아니라 전체의 합에 루트를 씌웠기 때문)
-> 그래서 평균절대오차를 사용
3. 평균절대오차 (Mean Absolute Error, MAE)
4. 평균절대백분율오차 (Mean Absolute Percentage Error, MAPE)
시험문제 !!!
MAE가 동일 -> B를 사용하는 게 좋음 (A는 평균으로 예측한 것임)
=> R^2(결정계수) 를 이용
결정계수 R^2
SST = 평균으로 예측한 오차
SSE = Model 예측이 틀린 정도
SSR = Model 예측 - 평균예측
분류 모델의 성능 분석
1. 정확도 (Accuracy, Acc)
2. 혼동행렬 (Confusion Matrix)
실제 : [ x x x x o x x o x x ]
예측 : [ x x o x x x x o x x ]
실제 class | |||
o | x | ||
예측 class | o | 1 True Pos |
2 (오탐) = 1종 오류 False Pos |
x | 1 (미탐) = 2종 오류 False Neg |
6 True Neg |
-> 대체적으로 2종 오류를 줄여야 함 (1종 오류보다)
앞에 붙은 것은 실제로 맞았냐 틀렸냐
뒤에 붙은 것은 예측 모델이 맞았냐 틀렸냐
3. 정밀도 (Precision)
-> 모델이 Positive 라고 예측한 것 중에서 옳게 예측한 비율
4. 재현율 (Recall)
-> 실제 Positive 중에 모델이 옳게 예측한 비율
--------------------------------------------------------------------------------------
데이터 불균형 -> 정밀도와 재현율이 낮게 나옴