School/데이터사이언스개론

알고리즘-1

응엉잉 2022. 4. 24. 04:27

알고리즘이란 ?

어떤 과제를 완수하기 위한 절차/단계/규칙

 

머신러닝 알고리즘?

예측, 분류, 군집화. 차원축소 등에 이용

분류문제 혹은 예측문제

선형 회귀 알고리즘 k-근접이웃 알고리즘 k-평균 알고리즘
지도학습, 예측 지도학습, 분류 비지도학습, 군집화

 

선형회귀

과적합과 미적합

용어 과적합 미적합
설명 모델이 학습 데이터에 대해서는 좋은 성능을 보이지만, 처음 보는 새로운 데이터에 대해서는 성능이 나빠지는 현상 (잘 일반화되지 않는 현상) 모델이 너무 단순해서 학습데이터조차 부적합
발생원인 학습 데이터 양과 노이즈 정도에 비해 모델의 복잡도가 너무 클 때
모델의 복잡도에 비해 데이터가 너무 적을 때
학습 데이터를 기억하기 시작함
해결책 데이터를 더 수집
더 단순한 모델 사용
데이터 특성 수 줄이기
규제 적용
 ** 정규화 !
모델 복잡도 늘리기
모델의 제약조건 완화

test error = training error + generalization gap

generalization gap = test error - training error 

* test error : 학습에 사용하지 않고 따로 빼둔 data 를 이용해서 구한 값

 

1) training error 가 커서 test error 가 큰 경우 = 과소적합 => 모델의 복잡도를 늘려서 개선시켜야

2) generalization gap 이 커서 test error 가 큰 경우 = 과적합 => 모델의 복잡도를 낮춰서 개선시켜야

 

모델의 평가측도

1. R제곱값 

1에 가까울수록 좋은 모델, 0에 가까울수록 나쁜 모델

 -> 오차 > 편차 면 평균값으로 예측한것보다 별로인 모델이라는 뜻

 

2. p-값 

 

3. 교차검증

 1) 데이터를 training set: test set 으로 구분 ( 보통 8:2 )

 2) test set 으로 모델 적합시키고, test set MSE와 training set MSE 비교

 3) MSE 가 비슷하면 일반화가 잘된 모델

 

오차를 반영한 선형회귀 모델

오차항 = 실제값 - 예측값

오차항은 정규분포를 따른다고 가정

 

과적합 문제 해결을 위한 정규화

: Ridge Regression

ML

β : 회귀계수

1) (오차)^2을 최소화하는 β 구하기

2) (회귀계수)^2의 합을 최소화하는 β 구하기

1) 을 줄이기 위해 2) 를 너무 크게 만드는것을 방지하는 penalty term 추가

회귀계수가 너무 발산하지 않는것이 중요할수록 λ 커짐

 

SSE = 비용함수 : 훈련 셋에 있는 모든 샘플에 대한 손실의 합

 

OLS : 최소제곱법

회귀계수가 너무 발산하지 않는것이 중요할수록 α 커짐

OLS estimator

OLS estimator 의 해가 항상 존재하는 것은 아님

design matrix X가 full rank(모든 열이 독립)이 아닌 경우 XTX의 역행렬이 존재하지 않음

<-> desgin matrix 가 full rank 인 경우  XTX 역행렬이 존재함

 

 XTX + aI 는 항상 역행렬이 존재하기 때문에 유일해가 존재

OLS 방법보다 항상 Rigde 를 사용한 해가 더 우수(더 작은 MSE 존재)

 

Lasso Regression

중요하지 않은 feature 들의 parameter 를 완전히 0으로 만드는 경향이 있음

-> feature 선택의 효과, sparse model 만들어줌

절댓값 성분때문에 미분 불가능

'School > 데이터사이언스개론' 카테고리의 다른 글

알고리즘-2  (0) 2022.04.24
Scatterplot Matrix / heatmap  (0) 2022.04.16
Quantile-Quantile Plot(Q-Q plot)  (0) 2022.04.16
Bihistogram  (0) 2022.04.16
Box Plot  (0) 2022.04.16