일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 종이의 TV
- hadoop
- 밥 짓기 방법
- #LinearRegression
- #워드프레스
- Airline Delay Count
- 이희인
- 초천재
- 위안부
- 시시콜콜 네덜란드 이야기
- #모두를위한DeepLearning
- 원죄형 인간
- 빨치산
- 열아홉 편의 겨울 여행과 한 편의 봄 여행
- 마약
- 톨스토이가 답하다
- 진정한 노력
- #모두를위한딥러닝
- 창조적 시선
- 아우라가 있는 사람
- 안나 까레리나
- 박진식
- #DeepLearning
- 복지천국
- 신의 한수
- #라즈베리파이
- #softmax
- 제주
- 시작하세요! 하둡프로그래밍
- 유해도서
- Today
- Total
Thing's by Actruce
모두를 위한 Deep Leaning 강좌(Sung Kim) 리뷰 04 본문
이 포스트는 유명한 홍콩 과기대 김성훈 교수의 "모두를 위한 딥러닝 강좌 시즌 1" 의 내용 중 Convolution Neural Network 이전
특히, 29강 까지의 내용을 중점적으로 리뷰해 보고자 한다. (리뷰01, 02, 03, 04, 05, ...)
CNN 은 별도의 포스트를 구성할 예정이다.
본 포스트의 내용은 김성훈 교수의 Lecture Note 의 내용 및 Lab File 을 활용했음을 알려둔다.
Sung Kim “모두를 위한 딥러닝 강좌 시즌 1”
> 강의 동영상 : https://goo.gl/2cqKLz
> 강의 웹사이트 : http://hunkim.github.io/ml/
> Lecture 슬라이드 : https://goo.gl/4373zL
> Lab 슬라이드 : https://goo.gl/WwCu4U
> 강의 소스코드 : https://goo.gl/T2fuYi
Standford holehouse.org
> http://www.holehouse.org/mlclass/index.html
리뷰04 Gradient Descent Algorithm (강좌 3 & Standford holehouse.org)
1. Cost Function of Simple Linear Regression
- 변수가 하나일 때, Cost Function 은 2차 다항식의 형태로 나타난다.
- 2차 다항식의 최저값은 아래로 볼록한 가장 아래 지점이 된다. (명확하다)
- Cost Function 이 x 에 대한 2차식이며, 미분하면 x에 대한 1차식이 되고 여기에 Learning Rate 를 곱해 구한 값이 미분값이 된다.
이 값이 양 (+) 이면 오른쪽에서 왼쪽 (<-) 으로 이동해야 되므로 w 변수를 마이너스 해 주면 되고,
반대면 왼쪽에서 오른쪽으로 이동하므로 (->) w 변수를 플러스 해 준다.
2. Cost Function of Multi Linear Regression
- 변수가 여러개 일 때는 좀 더 복잡해 지게 되는데, 결론부터 얘기하면 각 feature 에 대응하는 w 에 대한 편미분 값을 구해서 각 변수를 업데이트하는 방법이다. (feature 가 한 개 일 때도 마찬가지 이다.)
n개 feature 를 가지고, m개 training set 을 가지는 일반화 모델에 대한 Gradient Descent Algorithm 을 이해하기 쉽게,
다음과 같은 4개 feature 를 가진 부동산 가격을 예측하는 Linear Regression 을 가정해 보자.
- x1, x2, x3, x4 are the four features
- x1 : size (feet squared)
- x2 : Number of bedrooms
- x3 : Number of floors
- x4 : Age of home (years)
Notation 을 살펴보면,
위의 수식에서 아랫 첨자가 feature dimension 이고, 윗 첨자가 input 값에 대한 순서이다.
W 라는 weight 대신 θ 라는 parameter vector 로 표현한다.
부동산 예에서 가설 (H) 는 H = Xθ 로 표현할 수 있다. 상수 Term 까지 모두 n + 1 차원의 Vector 이다.
이에, cost function. J(θ) 는 h(θ) 와 실제 y 값과의 차이의 제곱합으로 표현되고,
실제적인 update 수식은 θj_t := θj_t-1 - (Learning Rate) * ( J(θ) 를 θj 로 편미분한 결과 ) 로 표현할 수 있다.
조금 더 관찰해보면, θj 에 대한 편미분 식은 m 개 training data set 들의 합 형태로 변형이 되고,
이를 통해 좀 더 간단하게 θj 를 업데이트하는 식을 유도할 수 있다.
여기서 Simultaneously Update 라는 말이 중요하다. 각 차원의 변수들이 한꺼번에 업데이트 되는 것이다.
그리고 편미분 했다는 의미는 각 차원이 서로에서 영향을 주지 않는 다는 점도 생각해 보면 좋겠다.
위와 같이, 2개 이상의 변수에 대한 Linear Regression 에 대한 Gradient Descent Algorithm 이 실제적으로 어떻게 각 차원 변수에 대해서 업데이트 되는지 확인해 봤다.
'IT > Deep Learning' 카테고리의 다른 글
모두를 위한 Deep Leaning 강좌(Sung Kim) 리뷰 06 (0) | 2017.12.17 |
---|---|
모두를 위한 Deep Leaning 강좌(Sung Kim) 리뷰 05 (0) | 2017.12.17 |
모두를 위한 Deep Leaning 강좌(Sung Kim) 리뷰 03 (0) | 2017.12.17 |
모두를 위한 Deep Leaning 강좌(Sung Kim) 리뷰 02 (0) | 2017.12.17 |
모두를 위한 Deep Leaning 강좌(Sung Kim) 리뷰 01 (0) | 2017.12.16 |