Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 아스키코드
- 비트단위논리연산
- 2차원배열
- 16진수
- 딥러닝
- 선택실행구조
- bitwise
- 코드업
- 파이썬
- 논리연산
- 불 자료형
- 반복실행구조
- 진수
- 문자열
- 입출력
- Docker
- input()
- face recognition
- 기초100제
- 산술연산
- 불 연산
- 2진수
- 8진수
- OpenCV
- 출력
- 10진수
- 비교연산
- codeup
- 종합
- 기초 100제
Archives
- Today
- Total
DeepFlowest
[모두를 위한 딥 러닝 시즌2] 02_How_to_minimize_cost 본문
728x90
반응형
SMALL
앞 포스팅에서 학습의 목적은 Cost함수를 최소화하는 W와 b를 찾는 것이라 했다.
즉, 오늘은 cost 함수를 최소화해야 하는데 어떻게 최소화할지에 내한 내용을 다룬다.
우선 간단한 hypothesis을 생각해보면 cost 함수는 다음과 같이 표현할 수 있다.
Hypothesis : H(x) = Wx
Cost :
위 cost 함수 그래프를 보면 cost함수의 최소점이란 빨간 점부분이다.
==> cost가 제일 작게 되는(빨간 점) w를 찾는 것이 우리의 목표이다.
이를 위해서 최저점을 찾기 위해 나온 것이 Gradient descent algorithm이다.
● Gradient descent algorithm
> 경사를 따라 내려가면서 최저점을 찾는 알고리즘
방법 : W와 b값을 랜덤 값으로 정해 --> Cost(W,b)가 작아지도록 업데이트 --> 최저점에 도달 할 때까지 반복
Gradient(기울기)가 움직이면서 최저점(빨간 점)을 찾아간다.
여기서 "기울기 : +, W : - " 의 의미 : 기울기는 양수(+)이고, W는 작은 쪽(-)으로 움직인다.
● Gradient descent
> W(Weight)를 계속 수정하면서 업데이트하는 알고리즘
learning rate : 기울기 값을 얼마만큼 반영해서 W에서 뺄지 결정하는 계수
- ex) learning rate값이 크다면 큰 값을 빨리 빼서 크게 변할 것임 ( W의 값이 큰 폭으로 움직일 것임), 주로 0.001 같은 작은 값을 사용
기울기의 최소 값을 구하기 위해서 cost함수를 미분해야 하는데 현재 cost함수는 제곱근 때문에 미분하면 2가 나오기 때문에 복잡해진다. 따라서 식을 다음과 같이 변경한다.
다시 W에 대입해서 미분해보면 다음과 같다. ( ==> 미분하는 이유 : 최소값 구하려고)
728x90
반응형
LIST
'딥러닝' 카테고리의 다른 글
앙상블 기법 ( 배깅, 부스팅 ) 개념 정리 (0) | 2020.09.25 |
---|---|
Gradient Descent_경사 하강법 (0) | 2020.07.28 |
[모두를 위한 딥 러닝 시즌2] 04_Logistic_Regression_Binary_Classification (0) | 2020.07.16 |
[모두를 위한 딥 러닝 시즌2] 03_Multi_variable_linear_regression (0) | 2020.07.16 |
[모두를 위한 딥 러닝 시즌2] 01_Simple_Linear_Regression (0) | 2020.07.16 |
Comments