📌 ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명
우선 지난 강의에서 다룬 것 처럼
![[정리/모두를 위한 딥러닝] ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - 📌 ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 [정리/모두를 위한 딥러닝] ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - 📌 ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
우리의 hypothesis가, 대략 우리의 모델이 위와 같이 wx+b 형태로 주어지고,
이를 기반으로 cost function, 즉 우리가 가지고 있는 모델이 실제 데이터와 얼마나 다른지,같은 지를 위와 같이 정했다.
-> linear regression의 목표는 cost를 최소화시키는 w와 b를 데이터를 통해 구하는 것이다.
Simplified hypothesis
![[정리/모두를 위한 딥러닝] ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - 📌 ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - Simplified hypothesis [정리/모두를 위한 딥러닝] ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - 📌 ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - Simplified hypothesis](https://blog.kakaocdn.net/dn/coyToa/btrLZP0B5be/ae5AvAsRusKFx6ZMvYHG7K/img.png)
앞으로의 설명을 쉽게 하기 위하여, hypothesis에서 b 를 없앴다.
hypothesis와 cost를 간략하게 바꾸었다.
![[정리/모두를 위한 딥러닝] ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - 📌 ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - Simplified hypothesis [정리/모두를 위한 딥러닝] ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - 📌 ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - Simplified hypothesis](https://blog.kakaocdn.net/dn/llITR/btrL5dr3KhT/44HI2zFzb55R1IBqs1zNXk/img.png)
바뀐 cost function으로 예시 그래프를 그려보면 위와 같다.
우리의 목표는 cost를 최소화 시키는 w를 구하는 것인데, 그럼 어떻게 구할 수 있을 지를 생각해보자.
🤷♀️우선 위 그림을 보면 cost의 값이 0인 w(=1)값을 찾아내면 되지 않을까?
Gradient descent algorithm
그래서, 위와 같은 상황에 많이 쓰이는 알고리즘이 있다.
바로 Gradient descent algorithm. (경사 하강)
이름을 그대로 해석해보면 경사를 따라 내려가는 알고리즘이다.
- cost funtion 최소화할 때 많이 쓰임
- 또 다른 많은 최소화 문제들에 많이 쓰임
- cost(w,b)의 문제에서, cost를 최소화하는 w와 b를 찾아냄
- cost(w1, w2, w3, ...)와 같이 여러개의 값들이 있는 cost fucntion도 최소화 가능
![[정리/모두를 위한 딥러닝] ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - 📌 ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - Gradient descent algorithm [정리/모두를 위한 딥러닝] ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - 📌 ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - Gradient descent algorithm](https://blog.kakaocdn.net/dn/dJ2eOt/btrL7umwANg/HK4cImHqoNCPQkt0BHFKC0/img.png)
- 아무 점에서나 시작 가능하다.
- w와 b를 계속 조금씩 바꿔가면서 cost(w,b)값을 감소시킨다.
- 그런 다음 경사도를 계산해서 계속해서 위의 과정을 반복한다.
=> 항상 최저점에 도달할 수 있다는 장점 ( 예외 있을 수 있음 )
🙋 위에서 경사도를 이야기 했는데, 그럼 경사도는 어떻게 구할까?
-> 미분을 이용해서 그래프의 기울기 구함
Formal definition
![[정리/모두를 위한 딥러닝] ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - 📌 ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - Formal definition [정리/모두를 위한 딥러닝] ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - 📌 ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - Formal definition](https://blog.kakaocdn.net/dn/neNiG/btrL4mbMBXC/nqSKSWgLIprWDkSuGYh6AK/img.png)
![[정리/모두를 위한 딥러닝] ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - 📌 ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - Formal definition [정리/모두를 위한 딥러닝] ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - 📌 ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - Formal definition](https://blog.kakaocdn.net/dn/d901Ku/btrL24bRQ7E/GKe0KJhO6BuhJe4U4xN5y0/img.png)
W를 보면, '알파 값에 cost(W)를 미분한 값을 곱한 것'을 W에서 빼주고 있다. (알파 = learning rate 값 )
여기서, cost(W)를 미분한 값은 그래프의 기울기이므로
기울기가 양수 였을 때: W 값에 양수의 값을 빼줌 -> W가 감소됨.
기울기가 음수 였을 때: W 값에 음수의 값을 빼줌 -> W가 증가됨.
![[정리/모두를 위한 딥러닝] ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - 📌 ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - Formal definition [정리/모두를 위한 딥러닝] ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - 📌 ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - Formal definition](https://blog.kakaocdn.net/dn/bIjweM/btrL3zv9sv9/FCbwJnGQrvCXaYa5TKPrYK/img.png)
🙋 그렇다면, 이론상으로 완벽해보이는 gradient descent algorithm은 언제나 잘 동작할까?
Convex function
![[정리/모두를 위한 딥러닝] ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - 📌 ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - Convex function [정리/모두를 위한 딥러닝] ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - 📌 ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - Convex function](https://blog.kakaocdn.net/dn/bAjVAh/btrL1AhQOEt/lMVaKU3lBCGVUEwJIndCPk/img.png)
만약 우리의 cost function이 위와 같이 그려진다면
시작점이 다른 경우 gradient discent algorithm이 여러개의 다른 방향으로 진행될 수 있다
-> 잘못된 동작 !
![[정리/모두를 위한 딥러닝] ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - 📌 ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - Convex function [정리/모두를 위한 딥러닝] ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - 📌 ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 - Convex function](https://blog.kakaocdn.net/dn/muDbg/btrL2oBggmu/ezZ1Praxp7VQbTDv8FTil1/img.png)
🙋 그럼 만약 우리의 cost function이 위와 같이 그려진다면 어떨까?
이런 경우에는 gradient discent를 어떤 지점에서 시작해도 도착하는 지점이 우리가 원하는 한 지점이다.
-> gradient discent 알고리즘이 항상 답을 찾는다는 것을 보장해준다.
이러한 함수의 모양을 convex function이라고 한다.
=> Cost function을 설계할 때, 반드시 그 모양이 convex function이 되는지 확인해야한다.
'ML & DL > [강의] 모두를 위한 딥러닝 강좌 시즌 1' 카테고리의 다른 글
[정리/모두를 위한 딥러닝] ML lec 04 - multi-variable linear regression (*new) (0) | 2022.09.15 |
---|---|
[정리/모두를 위한 딥러닝] ML Lec 02 - Linear Regression의 Hypothesis와 cost 설명 (3) | 2022.09.13 |
댓글