Maron's DATA Log

Linear Regression (선형회귀) 본문

Machine Learning

Linear Regression (선형회귀)

maron2ee 2020. 12. 15. 21:27

# Linear Regression (선형회귀)

: 데이터들을 기반으로 하나의 함수를 구해 관찰되지 않은 데이터의 값을 예측

 

𝑦̂=𝑤0+𝑤1𝑥1+𝑤2𝑥2++𝑤𝐷𝑥𝐷=𝑤0+𝑤𝑇𝑥

 

* Feature : 독립변수, Target : 종속변수

* Polynomial Regression (다항회귀) 도 선형 회귀 (차수가 높아질수록 과적합의 문제가 크게 발생)

* 선형 회귀/비선형 회귀을 나누는 기준은 회귀 계수가 선형/비선형인지

 

* Coefficients (회귀 계수)

: 𝑤0 (기울기) 와 𝑤1...(절편) 을 회귀 계수로 지칭

 

* RSS, Residual Sum of Squares (잔차제곱합) - 회귀에서 cost (비용), 회귀 계수로 구성되는 RSS 는 비용함수 (loss function)

 

* OLS, Ordinary Least Squares (최소자승법)

: RSS 를 최소화하는 가중치 벡터를 구하는 방법

 

* Objective Function (목적 함수)

: 회귀의 목적 함수는 평균 제곱 오차를 최소화하는 함수

 

* MSE, Mean Squared Error (평균 제곱 오차) 

: 각 데이터포인트로부터 함수까지의 거리르 제곱한 값의 평균

 

함수가 선형일 경우 MSE 비용함수는 아래쪽으로 볼록한 함수 (convex function) 

-> 경사하강법을 사용해 최저의 error 를 갖는 회귀계수를 찾음

 

* Gradient Descent (경사하강법)

: 회귀 모델을 구현할 때, 최초 회귀 계수를 임의로 설정한 후 경사하강법을 반복적으로 실행해 최소 평균 제곱 오차를 가지는 회귀 계수를 구하기

- (미분값 * 학습률) 만큼 회귀계수의 값을 변경해 변곡점에 더 가까운 값으로 이동

 

* Learning Rate (학습률)

학습률의 값이 클수록 회귀 계수의 값이 크게 변경 되며, 학습률의 값이 작으면 회귀 계수의 값이 작게 변경

 

 

# 대표적인 선형 회귀 모델

* 일반 선형 회귀 : 예측값과 실제 값의 RSS (Residual Sum of Squares) 를 최소화할 수 있도록 회귀 계수를 최적화, 규제 (regulation) 를 적용하지 않은 모델

 

# 규제 선형 모델

* Ridge : 릿지 회귀는 선형 회귀에 L2 규제를 추가

L2 regulation : 상대적으로 큰 회귀 계수 값의 예측 영향도를 감소시키기 위해서 회귀 계수값을 더 작게 만드는 규제 모델

 

* Lasso : 라쏘 회귀는 선형 회귀에 L1 규제를 적용

L1 regulation : 예측 영향력이 작은 피저의 회귀 계수를 0으로 만들어 회귀 예측 시 피처가 선택되지 않게 (피처 선택 기능)

 

* ElasticNet : 엘라스틱넷은 L2, L1 regulation을 결합한 모델 (피처의 개수를 줄이고, 계수 값의 크기를 조정)

 

* Logistic Regression : 로지스틱 회귀는 강력한 분류 알고리즘

 

 

# Logistic Rgression (로지스특 회귀)

: 선형 회귀를 입력으로 받아 특정 레이블로 분류하는 모델

 

로지스틱 회귀도 경사하강법으로 최적의 𝑤를 찾아내지만

비선형성을 지니고 있는 시그모이드 함수 때문에 비용함수는 MSE 가 아닌 cross entropy (크로스 엔트로피)를 사용

시그모이드 함수의 영향으로 MSE 그래프는 한 개 이상의 로컬 미니멈을 가질 수 있음

 

* Sigmoid Function (시그모이드 함수)

: 입력값이 클수록 1로 수렴, 입력값이 작을수록 0으로 수렴   

0 ~ 1 출력값은 확률로 사용될 수 있고, 

0.5 이상 참, 0.5 이하 거짓으로 분류 모델로도 사용될 수 있음

 

* Cross Entropy (크로스 엔트로피)

: 서로 다른 두 확률 분포의 차이 (모델의 예측값의 확률과 실제값 확률의 차이)

예측값과 실제값의 차이를 가장 작게 하는 𝑤를 구하기

 

 

# 소프트맥스 (다중 분류 로지스틱 회귀)

MNIST 손글씨 숫자 데이터셋

 

 

 

 

# 선형 회귀 모델 - 데이터 변환

feature 값과 target 값의 분포가 정규 분포 형태를 선호

target 값이 정규 분포 형태가 아니라 특정값의 분포가 skew 분포도 이면 예측 성능에 부정적인 영향을 미칠 가능성이 높음

 

# 스켈일링 / 정규화 작업

 

1. Standard 정규화

StandardScaler 클래스 - 평균이 0, 분산이 1인 표준 정규 분포를 가진 데이터 세트로 변환

MinMaxScaler 클래스 - 최솟값이 0, 최댓값 1로 정규화

 

2. 1번 정규화가 예측 성능이 향상되지 않았을 경우 - 스케일링/정규화 수행한 데이터 세트에 다시 다항 특성을 적용해 변환

피처의 개수가 많을 경우 과적합 이슈 발생

 

3. Log Transformation (로그 변환)

log 함수 적용 - 정규 분포에 가까운 형태로 값이 분포

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

Data Preprocessing (데이터 전처리)  (0) 2020.12.22
머신러닝 모델의 성능 평가  (0) 2020.12.05
머신 러닝의 일반적인 과정  (0) 2020.11.21
Comments