주먀

선형회귀 본문

카테고리 없음

선형회귀

주먀 2023. 6. 15. 17:18

  종류 : Linear Regerssion , Ridge( L1 ) , Lasso( L2 ) , 회귀평가지표 

1. Ensemble : 여러개의 DT

2. 딥러닝 시초 : 여러개의 LinearRegresson ( 선형회귀 )

3. 선형모델의 알고리즘 :

가지고 있는 데이터를 모두 설명할 수 있는 선형함수 생성

4. y = 10x + 0

x , y는 이미 우리가 알고 있는 값이고 , 우리가 찾아야 할 값은 a에 들어가는 10이라는 값

==> 머신러닝에서는 a -> w ( 가중치 ) -> 회귀의 목적

 

5.  

6. 선형모델

: 입력 데이터를 설명할 수 있는 선형 함수를 구하는 것 ==> 데이터에 대한 선형함수 ( 외우자 )

선형함수의 기본식 : 

문제가 1개인 컬럼 : y = wx + b 

문제가 p개의 컬럼 : y = w1x1 + w2x2 + ... + xpxp + b

a ( 기울기 )  = w ( 가중치 )

w : 각 컬럼 ( 문제 ) 마다 다른 가중치를 적용

 

입력 데이터를 설명하는게 불가능 

왜? 그릴 수 있는 선형함수의 수가 무한대이기 때문에

       모든 선형함수의 오차를 계산할 수는 없음

--> 오차가 가장 작은 선형함수 찾는게 목적( 입력 데이터를 가장 잘 설명하는 선형함수 )

      평균제곱오차( MSE )가 가장 작은 선형함수가 최선의 선형함수

 

** 그릴 수 있는 무한대의 선형함수 중에서 평균제곱오차가 가장 작은 선형함수 찾기

 

평균 제곱오차가 가장 작은 선형함수를 찾는 방법

1. 수학공식을 이용한 해석적인 방법 ( 공식으로 해결 )

     : LinearRegression 

2. 경사하강법 

     : SGDRegressor

 

평가지표

분류 : 모델이 잘 만들어졌는지 판단 - score ( 정확도 )

           정답 / 오답을 정확하게 표현할 수 있음 --> 맞춰야 하는 정답도 정해져 있음.

           분류평가지표 : 정확도 ( 0 ~ 1 ) --> 1에 가까울수록 잘 만들어진 모델 판단

회귀 : MSE가 작을수록 좋은 모델 - score ( R2 score )

           집값 예측시 2억 2억 10원일때 미묘한 값의 차이는 중요하지 않고 , 맞았다 틀렸다를 구분할 수 없음 --> 정답 / 오답을 정확하게 표현하기 어려

           회귀평가지표 : MSE ( 0 ~ 무한대 ) --> 0에 가까울수록 성능이 좋다라고 판단

 

LinearRegression 의 단점 : 모델이 잘못되었을때 개선할 수 없다 ==> 규제( 정규화 )를 가해서 해결

 

규제 : 선형모델에서 가중치( w ) 영향을 주는 것 --> 모델에 개입한다.

1. L1규제 ( Lasso ) : LinearRegression + L1 규제

     - 모든 w에 특정 값만큼의 규제를 가하겠다

     - 가중치가 0이 되어 사용하지 않는 특성이 생김 --> 특성 선택

     - 특정 데이터가 중요할 때 사용

2. L2규제 ( Ridge ) : LinearRegression + L2 규제

      - 모든 w에 특정 %만큼의 규제를 가하겠다

      - 규제를 많이 가해도 전체 가중치는 사용

      - 전체 데이터가 고르게 중요할 때 사용

      - 가중치가 0은 되지 않음