[ML] Linear Regression(Cost Function)

박미영·2023년 5월 24일
0

DataSchool StudyNote - ML

목록 보기
11/19

📌Cost Function

  • 에러를 표현하는 도구
  • 작은 값을 가질 수록 좋다.

📍최소값 구하는 방법 1

Cost Function 최소값 구하는 방법 1




  • 시도 1

  • 시도 2

점 세개를 다 지나갈 수 없다. 그렇다면 점 세개를 잘 지나가는 방법을 찾아야겠다.

실제 데이터(점 세 개)와 구해야 할 모델(h)

먼저 각각의 에러를 구하고



에러 각각을 제곱하고 평균 -> Cost Function 中 1



Cost Function 中 1


Cost Fnc을 최소화할 수 있다면 최적의 직선을 찾을 수 있다


J를 최소로 만들 수 있을까?

- python 구현

import numpy as np

np.poly1d([2, -1])**2 + np.poly1d([3, -5])**2 +  np.poly1d([5, -6])**2




⭐poly1d



- 최솟값 찾기





  • python
import sympy as sym

th = sym.Symbol('th')
diff_th = sym.diff(38*th**2 - 94*th + 62, th)
# 38*th**2 - 94*th + 62을 th에 대해 미분하라
diff_th

diff -> 미분










📍최소값 구하는 방법 2

Cost Function - 데이터와 모델이 완전 일치한다면?


Cost Function - 조금 빗나가면


Cost Function - 더 빗나가면

실제는 데이터는 너무 복잡해서 손으로 풀기 어렵다


Cost Function의 최솟값을 찾기 위해서 특단의 대책이 필요



- Gradient Descent

미분을 통해서 cost function 최소 값을 찾는다.

  1. 랜덤하게 임의의 점 선택

  1. 임의의 점에서 미분(or 편미분)값을 계산해서 업데이트

미분을 해서 어느 방향으로 가야할지 정해야한다.

3-1. 목표점의 오른쪽이라면

3-2. 목표점의 왼쪽이라면



⭐⭐⭐Learning Rate


4-1. 학습률이 작다면


4-2. 학습률이 크다면





- 다변수 데이터에 대한 회귀





📌예제 - Boston 집값 예측

  1. Boston 집 가격 데이터



  1. 데이터 읽기

업데이트 이후 데이터 자료가 없어진 것으로 보임 따라서 그냥 학습 자료 참고


  1. 특성 의미

  1. 데이터 파악을 위해 pandas로 정리

• 주의 - PRICE 컬럼은 Label이므로 이후 과정에서 잘 다루어야 한다.


  1. Price에 대한 histogram


  1. 각 특성별 상관계수 확인


  1. RM과 LSTAT와 PRICE의 관계에 대해 좀 더 관찰

저소득층 인구가 낮을 수록, 방의 개수가 많을 수록 집 값이 높아지는가???
해당 가설에 대해 문제가 없을까?

집 값이 낮을 수록 저소득층이 오는 것이 어찌보면 당연(?)한 것인데 그것이 집값을 예측하는데 필요한 특성인 것인가?를 생각해봐야한다.
이런 식으로 특성에 관해 계속 생각을 해봐야한다.


  1. 데이터 나누기

  1. LinearResgression

  1. 모델 평가 - RMS

  1. 성능 확인


LSTAT를 사용하는 것이 맞는 걸까?
그럼 제거하고 예측해보자.


성능은 나빠진다.
But 성능이 나빠졌다고 해서 제거하고 학습하는게 옳다 아니다라고 할 수는 없다. 고민을 계속해봐야할 문제





"이 글은 제로베이스 데이터 취업 스쿨 강의를 듣고 작성한 내용으로 제로베이스 데이터 취업 스쿨 강의 자료 일부를 발췌한 내용이 포함되어 있습니다."

0개의 댓글