Machine Learning

r

What is Machine Learning?직역 : 기계를 가르친다.Machine learning is not about finding an answer, but about finding rules that can give a good answer.https://docs.microsoft.com/ko-kr/azure/machine-learning/how-to-select-algorithms

지도학습
(Supervised learning)

r

정답이 있는Input & Output얼마나 또는 무엇에 대한 결과를 도출...지도 학습 input(data) output(label) 3 X 5 + 5 = 20 5 X 5 + 5 = 30 9 X 5 + 5 = ?

회귀
(Regression)

r

회귀(回歸) : 돌아가다..회귀 모델링은예상 값과 실 값 두 값의 오차의 합이 최소가 되도록 만드는 작업.즉, 실 데이터를 대표할 수 있는 오차가 제일 작은 대표 모델을 찾는 것이다. 주로 어떤 패턴이나 트렌드, 경향을 예측할 때 사용됨.

선형회귀
(Linear Regression)

r

데이터를 잘 설명 할수 있는 선을 찾는 분석 방법.즉, y = mx + b 의 최적의(오차가 가장 작은) m과 b를 찾는 것이 목적.

손실(Loss)

r

y = mx + b 의 m을 변경하면서 손실이 최소인 m을 찾는다.

평균 제곱 오차( Mean Squared Error )

평균 절대 오차( Mean Absolute Error )

후버 손실( Huber loss )

결정 계수( coefficient of determination )

r

1−MSE/VAR으로 구하는 결정 계수

수렴(Convergence)

r

결국 수렴값이 우리가 찾는 결과다.

경사하강법(Gradient Descent)

r

기울기(경사)가 최소인 값을 찾는 방법

학습률(Learning Rate)

r

학습률이란학습륙 값에 따라 적절한 값을 찾을 수도 또는 값을 찾는데 까지 너무 많은 시간적 비용이 필요할 수도 있슴.고로, 적절한 학습률(learning rate)이 필요하다.

다중선형회귀
(Multiple Linear Regression)

r

데이터를 잘 설명 할수 있는 차원을 찾는 분석 방법.즉, Y = M1X1 + M2X2 + B 의 함수의 최적의 M과 B를 찾는 것이 목적.

데이터 세트 분리하기 (Training & Test)

r

모든 데이터에 정답이 있으니, 시험 데이터를 예측 모델에 넣어서 실제 정답을 잘 맞추는지 보기 위함.예) 100명의 키, 몸무게 데이터 중 80%로만 학습데이터(training data)로 나머지 20%는 검증데이터(validation data)로 나누자는 것이다.어떻게 데이터 세트를 나눌 것인가?전체 데이터 중 80%를 학습으로, 20%를 검증으로 사용하는 것이 좋다Training / Validation / Test Data

Training Set

Validation Set

Test Set

교차 검증 (N-Fold Cross-Validation)

r

모델의 정확도(Accuracy)

잔차 분석(Analysis)

r

실제 값 y와 예측된 값 ŷ의 차 e e = y - ŷ

결정계수 R2

r

잔차 e = 실재값( y ) - 예측값( ŷ )R² = 1 - u/vu : 잔차의 제곱의 평균.v : 편차의 제곱의 합.u = ((y - y_predict)**2).sum()v = ((y - y.mean())**2).sum()결정계수 R²가 클수록 실제값과 예측값이 유사함을 의미하며, 데이터를 잘 설명한다고 이해하자.

분류
(Classification)

r

주어진 데이터를 정해진 카테고리에 따라 분류예) 스팸, 이미지 분류Binary ClassificationMulti-label Classification

K-최근접 이웃
(K-Nearest Neighbor)

r

너무 작은 K : overfitting너무 큰 K : underfitting이후 서포트 벡터 머신에서 동일 개념이 나옴.

정규화(Normalization)

r

목표 : 모든 데이터 포인트가 동일한 정도의 스케일(중용도)롤 반영되도록 해주는 것

최대-최소 정규화(Min-Max Normalization)

r

(x - MIN) / (MAX-MIN)약점 : 이상치(outlier)에 영향이 크다. 그래서 Z-점수 정규화를 보자

Z-점수 정규화(Z-Score Normalization)

r

( X - 평균 ) / 표준편차이상치(outlier)를 잘 처리하지만, 정확히 동일한 척도로 정규화 된 데이터를 생성하지는 않는다.

K 선택

Overfitting

r

K값이 작아 과하게 학습을 하는 경우 시간 소요가 많음

데이터 자세히(평균등)

적절하게 수집된 데이터인가?

데이터 보강

r

예) 이미지 분류 시 회전 또는 찌그러뜨린 사진 입력

데이터에 포함될 특성 제한

Underfitting

r

K값이 큰 경우 정밀도가 떨어짐. 분류의 정확도가 떨어짐.

두 점 사이의 거리 공식(Distance Formula)

유클리드 거리 (Euclidean Distance)

맨하탄 거리 (Manhattan Distance)

해밍 거리 (Hamming Distance)

가중 회귀(Weighted Regression)

r

거리가 가까울수록 데이터가 더 유사할 것이라고 보고 가중치를 부여.왜? 더 잘 예측 할 수 있으니...

분류 모델의 성능 평가 지표

Accuracy

r

전체 예측 건수에서 정답을 맞힌 건수의 비율단점 : True Negative ( 정확도의 역설 )

Recall

r

실제로 정답이 True 인 것들 중에서 분류기가 True로 예측한 비율

Precision

r

눈이 많이 내릴 것이라고 예측한 날 중에 실제로 눈이 많이 내린 날의 비율

F1 Score

r

조화 평균2 * ( Precision * Recal / ( Precision + Recall ) )

로지스틱 회귀
(Logistic Regression)

r

2진 분류.1 or 0true or false

Log-Odds

r

Odds = 사건이 발생할 확률 / 발생하지 않을 확률Log(Odds)

Sigmoid Function

Log Loss(로그 손실)

Classification Threshold(임계값)

서포트 벡터 머신
(Support Vector Machine)

r

결정 경계(Decision Boundary), 즉 분류를 위한 기준 선을 정의하는 모델

최적의 결정 경계(Decision Boundary)

r

n개의 속성을 가진 데이터에는 최소 n+1개의 서포트 벡터가 존재

마진(Margin)

이상치(Outlier)를 얼마나 허용할 것인가

하드마진(hard margin)

오버피팅

소프트 마진(soft margin)

언더피팅

파라미터 C

r

C값이 클수록 하드마진작을 수록 소프트 마진

커널(Kernel)

r

직선으로 결정 경계선을 정할 수 없을때

다항식(Polynomial)

r

2차원을 3차원으로 표현하여 결정 경계선이 아닌 결정 경계면을 찾을 수 있도록 함. 즉, 초평면(hyperplane)의 결정 경계를 구함.

방사 기저 함수 (RBF: Radial Bias Function)

파라미터 gamma

의사결정 나무(Decision Tree)

r

각 데이터들이 가진 속성들로부터 패턴을 찾아내서 분류 체크리스트에 따라 분류. 체크리스트의 설계가 중요함. 한계 : 테스트 데이터에 오버피팅된다.

지니 불순도(Gini Impurity)

r

총 4개 데이터 세트에서 레이블 A가 3개, B가 1개  1 - (3/4)**2 - (1/4)**2 0에 가까울 수록 불순도가 작다

정보 획득량 (Information Gain)

r

초기 지니 불순도에서 1차 분류 후 불순도의 합을 뺀 값. 예)0.5 - (0 +0.375 + 0) = 0.125 이것만으로 정보 획득량 설명 부족하다. 그래서 가중치 적용

재귀적(Recursive) 트리 빌딩

Weighted Information Gain

랜덤 포레스트(Random Forest)

r

의사결정트리의 오버피팅의 오류를 해결하고자 데이터의 일부만을 가지고 예측 트리를 구성함.

배깅(Bagging)

r

총 학습 데이터 세트에서 임의의 데이터를 선택하여 의사결정 트리를 생성. 그리고, 중복을 허용한다.

Bagging Features

나이브 베이즈(Naive Bayes)

r

“베이즈 정리”를 활용하여 분류

Bayes' Theorem

r

P(A|B) = P(B|A)*P(A) / P(B) P(A|B) = P(B|A)*P(A) / P(B|A)*P(A) + P(B|A*)P(A*) B 가 데이터 / A는 분류...

스무딩(smoothing)

r

분자 1 분모 N N은 데이터 세트에 등장하는 고유 단어 개수

비지도학습
(Unsupervised learning)

r

정답이 정해져 있지 않은 비슷한 데이터를 기반으로데이터의 고유한 구조나 패턴을 익히는 것.어렵다 쉽게 말해서 비슷한 것끼리 분류할 수 있도록 하는 방법.

군집화( Clustering )

r

데이터가 어떻게 구성되어있는지 밝히는데 주로 사용하고, 일종의 그룹핑 알고리즘비지도 학습의 경우동물 이미지 분륲 작업은 classification과 다른 결과를 발생 할 수도 있다. 왜? 지도 학습과 달리 정답을 알려주지 않기 때문에...

K-Means 클러스터링

K-Means ++ 클러스터링