본문 바로가기
Study (Data Science)/ML

상관계수, 경사하강법, 손실함수, RMSE, 경사하강법, 선형회귀

by 콜라찡 2022. 12. 9.

Correlation does not imply causation

상관은 인과를 함축하지 않는다

 

 

상관계수

  • 한 변수가 커짐에 따라 다른 변수가 작아지는 관계인 경우, 두 변수는 '상관 관계가 있다'고 하고, 그 관계된 정도는 '피어슨(Pearson) 상관 계수'라고 함.

model.fit

모델을 학습시킨다 

= 모델의 정확도를 가장 높일 수 있는 최적의 "매개변수(가중치,Weight)" , 혹은 "파라미터(편향,Bias)" 를 찾는다

 

model.compile

손실함수(loss function) or 비용함수(cost function) 

  • predicted y 와 real y 값 간의 차이를 나타내는 함수.
  • 값이 크면 그만큼 둘의 거리가 멀다는 뜻으로, 정확하지 않다는 뜻.
  • 손실값은 작을수록 좋은것!
    • 1) 모델이 출력하는 값과 실제 정답 간의 차이를 계산하고,
    • 2) 그 차이를 단계적으로 줄여나가는 순서로 모델을 학습시킬 것

정확도를 측정하는 4가지 방법

= 모델의 오차를 측정
    The MSE, MAE, RMSE, and R-Squared metrics are mainly used to evaluate the prediction error rates and model performance in regression analysis.

  • MAE (Mean absolute error) represents the difference between the original and predicted values extracted by averaged the absolute difference over the data set. : 편차의 절댓값의 평균
  • MSE (Mean Squared Error) represents the difference between the original and predicted values extracted by squared the average difference over the data set. : 편차의 제곱의 평균
  • RMSE (Root Mean Squared Error) is the error rate by the square root of MSE. : 편차의 제곱의 평균의 루트
  • R-squared (Coefficient of determination) represents the coefficient of how well the values fit compared to the original values. The value from 0 to 1 interpreted as percentages. The higher the value is, the better the model is.: 결정계수 1일수록 좋음

The above metrics can be expressed,

 

 

하이퍼 파라미터  

  • 학습률과 같이 모델이 스스로 학습해나가는 파라미터 가 아니라, 사람이 직접 사전에 정하고 시작해야 하는 파라미터
  • 최적의 하이퍼 파라미터는 사람이 직접 찾아야 하기 때문에 많은 실험을 통해 찾을 수밖에 없음
  • 보통 learning rate는 0.0001 ~ 0.01 정도의 작은 값으로 사용함.
  • 래야 최적값을 지나치지 않고 경사를 하강할 수 갈 수 있음.

 

경사하강법 (Gradient Descent Method)

 

Aiffel lms

  • 왼쪽 점 :  오른쪽으로 갈수록 손실함수값이 점점 작아짐. 접선은 오른쪽 아래로 향하는 방향,  기울기는 음수
  • 오른쪽 점 : 왼쪽으로 가면  손실함수값이 점점 작아짐.  접선은 왼쪽 아래로 향하는 방향, 기울기는 양수

기울기는 그 자체로 자기 자신보다 함수값이 작아지는 방향을 알려주므로, 최적의 w의 위치를 알지 못해도 현재 위치의 기울기만 알 수 있으면 어느방향으로 옮겨가야 최적값을 찾을 수 있을지의 방향이 나오게 됨.

이 step을 정리해보면,

  1. 현재 w에서의 기울기를 구한다.
  2. 기울기가 음수라면, 현재 w를 키운다.
  3. 기울기가 양수라면, 현재 w를 줄인다.

이를 수식으로 나타내면,

w' = w - \eta g
  • w' : 새로운 w
  • w : 현재 w
  • \eta : 얼마나 업데이트를 할 지를 결정하는 상수 (학습률)
  • g : 기울기, 또는 그래디언트

 

선형 회귀

y=wx+b

y=w0+w1x1+w2x2+w3x3+w4x4+w5x5+w6x6+w7x7+w8x8+w9x9+w10x10+w11x11+w12x12
​y=w0​×1+w1​x1​+w2​x2​+w3​x3​+w4​x4​+w5​x5​+w6​x6​+w7​x7​+w8​x8​+w9​x9​+w10​x10​+w11​x11​+w12​x12
    |-------|   >> 상수 b를 없애는 대신 이렇게 표현하기도 함.​
 
연속된 실수값을 예측하는 회귀인데,
각각의 x에 각각의 w를 곱해주는 것 말고 다른 조작을 하지 않는 선형이라는 뜻.

회귀(Regression) 반대의 개념은 분류 (Classification)

회귀는 연속된 실수값을, 분류는 카테고리를 예측함.

  • Classification is the task of predicting a discrete class label.
  • Regression is the task of predicting a continuous quantity.
  • Classification predictions can be evaluated using accuracy, whereas regression predictions cannot.
  • Regression predictions can be evaluated using RMSE root mean squared error, whereas classification predictions cannot.

(참고) Categorical Regression

이건 회귀인가 분류인가.

내가 이해하기로는 "회귀인척 하는 분류" 인 듯 하다.

예를들어, 가위바위보 그림을 보고 어떤 건지 판별하게 할 때,

우리는 label을 one-hot encoding 하여 각각 0, 1, 2 로 numeric하게 바꾼다.

그럼 Regression으로 결과값 예측이 가능하기 때문이다.

실제로 CNN 문제에서 이렇게 답안을 작성했었다.

optimizer는 RMSprop으로

loss fuction은 categorical... 로

metrics는 accuracy로..

회귀는 이것만, 분류는 저것만 이런식으로 이분법화 하면 많이 헷갈릴듯하니,, 경계를 살짝 모호히하고 넘어가야겠다.

model.compile(
        optimizer=RMSprop(learning_rate=0.001),
        loss='categorical_crossentropy', metrics=['accuracy']

시각화

x가 3개 이상이 되면, 우리가 현생에서 표현할 수 없는 dimension이 되어 시각화가 어렵긴 하지만,

the one feature of X 로 2차원으로는 그릴 수 있다. 

시각화해서 pred_y와 y가 잘 맞아지는지 확인하기.

 

표기법

한 가지, 아주 중요한 부분은 아니지만 보편적인 표기법을 한 가지 더 소개하겠습니다.

일반적으로 x와 곱해지는 매개변수는 w로, 그리고 상수는 b로 표기합니다. 이 때 지금과 같이 x의 개수가 여러 개라면 w는 w_n과 같이 아래첨자로 숫자를 표기하죠.

이것과 통일하기 위해 상수 b는 b 대신 w_0으로 표기하기도 합니다. 이렇게요!

 

 

https://www.datatechnotes.com/2019/02/regression-model-accuracy-mae-mse-rmse.html

 

Regression Model Accuracy (MAE, MSE, RMSE, R-squared) Check in R

MSE, MAE, RMSE, and R-Squared calculation in R.Evaluating the model accuracy is an essential part of the process in creating machine learning models to describe how well the model is performing in its predictions. Evaluation metrics change according to the

www.datatechnotes.com

https://ko.wikipedia.org/wiki/%EB%AF%B8%EB%B6%84

 

미분 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 미분(微分, 영어: derivative) 또는 도함수(導函數)는 어떤 함수의 정의역 속 각 점에서 함숫값의 변화량과 독립 변숫값의 변화량 비의 극한 혹은 극한들로 치역이

ko.wikipedia.org

https://faculty.nps.edu/rbassett/_book/regression-with-categorical-variables.html

 

Chapter 12 Regression with Categorical Variables | Introduction to Statistics and Data Science

Textbook for MATH 2330 at Schreiner University

faculty.nps.edu

 

728x90

'Study (Data Science) > ML' 카테고리의 다른 글

EDA 노트  (0) 2022.12.14
이미지처리 Basic  (0) 2022.12.12
CSV, XML, JSON  (0) 2022.12.08
문자열다루기, 정규표현식  (0) 2022.12.08
Matplotlib, Seaborn  (0) 2022.12.07

댓글