일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준 알고리즘
- 자바강좌
- 파이썬강좌
- feature scaling
- java
- Python강의
- c언어 오목
- 지도학습
- 효묘블로그
- 딥러닝
- 자바
- Gradient Descent
- supervised learning
- 경사하강법
- 딥러닝공부
- C언어
- 머신러닝 강좌
- 파이썬강의
- acmicpc.net
- 선형회귀
- 비용함수
- 머신러닝
- 비지도학습
- 인공지능
- 자바시작하기
- 머신러닝공부
- python강좌
- unsupervised learning
- 머신러닝 강의
- JAVA강좌
- Today
- Total
목록경사하강법 (5)
컴공과컴맹효묘의블로그
Normal Equation 정규방정식 지금까지 선형회귀의 모델을 최적화 시키는데에 있어서 경사하강법을 사용했습니다. 이번 포스팅에서는 특정 선형 회귀문제에서 θ를 구하는데 효과적인 방법을 설명하겠습니다. 기존에는 경사하강법을 사용해서 θ의 최적값을 구했습니다. 경사하강법은 최적의 θ를 구하기위해서 특정 알고리즘을 어떤 값에 수렴 할때까지 계속 반복해야합니다. 하지만 Normal Equation(정규 방정식)을 사용하면 반복할 필요없이 한번에 최적의 θ를 구할 수 있습니다. θ가 벡터가 아니라 스칼랄고 가정합시다. 위와같은 cost function(비용함수)이 있을 때 최솟값 θ를 구하는건 간단합니다. 미적분을 배운사람이면, 저 방정식을 미분해서 0이되는 값을 찾기만하면 된다는 것을 직관적으로 알 수 있..
경사하강법에서 학습률이란 한번 학습할때 얼만큼 변화를 주는지에대한 상수입니다. 예를들어 부산에서 서울까지 가는데에 순간이동을 한다고 합시다. 만약 서울방향으로 10km씩 순간이동을 하면 금방 갈것입니다. 하지만 만약 1m씩 순간이동을 하면 너무 오래걸리겠죠. 그리고 1000km씩 순간이동을 하면 서울을 지나 오히려 더 멀어질것입니다. 얼마큼씩 이동할때 이 거리가 바로 학습률입니다. 이 블로그에서 처음 학습률이 등장하는 포스트 : https://hyomyo.tistory.com/13?category=820909 수알못의 머신러닝 공부 : 경사하강법 저번 시간에는 비용함수에 대해서 공부했습니다. 다시 정리하지면, 비용함수는 "오차를 표현해주는 미분 가능한 함수" 입니다. 비용함수가 오차들의(제곱의)평균이므로..
안녕하세요 효묘입니다. 이번 포스팅에서는 지금까지 소개한 내용을 바탕으로 경사하강법을 좀 더 보기 간결하게 수학적으로 짧게 표현하도록 하겠습니다. 행렬이란 : https://hyomyo.tistory.com/15 행렬곱 : https://hyomyo.tistory.com/16 전치행렬이란? : https://hyomyo.tistory.com/17 경사하강법 : https://hyomyo.tistory.com/13 이전에는 X 즉, 학습 훈련집합의 종류가 하나였습니다. 수학적으로는 y = a + b*x 라는 것이죠. 하지만 만약 학습 훈련집합의 종류가 여러개라면 변수가 너무 많아질겁니다. y = a + b*x_1 + c*x_2 + d*x_3 ... 이런 길고 복잡한 식이 나오게 되는데, 수학의 "행렬"을 ..
지금까지 공부한 선형회귀를 수식적으로 표현한 후에 Python으로 구현해볼려고 합니다. 아래의 수식들은 이전 포스팅에서 자세히 다뤘습니다. 바로가기 수알못의 머신러닝 공부 : 비용함수 수알못의 머신러닝 공부 : 경사하강법 일단 점들을 지나는 직선을 표현해보겠습니다. 그리고 오차를 구합니다. 위 수식의 오차는 쓸모가 없습니다. 이유는 만약, 2개의 데이터셋에서 오차가 각각 -1, 1이 나온다면, 오차들의 평균은 0이기때문에 적절한 오차를 구할 수 없습니다. 따라서 절댓값 혹은 제곱을 씌워줍니다. 절댓값은 미분 불가능한 점이 나올 수 있기때문에 제곱을 씌워줍니다. 그리고 데이터셋의 개수인 m으로 나누고, 미분하면 2가 떨어지니 1/2을 또 곱합니다. 비용함수를 구했습니다. 이제 비용함수의 극소값을 구하기 위..
저번 시간에는 비용함수에 대해서 공부했습니다. 다시 정리하지면, 비용함수는 "오차를 표현해주는 미분 가능한 함수" 입니다. 비용함수가 오차들의(제곱의)평균이므로 오차의 최소값을 구해야겠죠? 실제로 최소값(global minimum)을 구하는 것은 어려우니, 경사하강법으로 극소값(local minimum)을 구할 수 있습니다. 따라서 경사하강법은 비용함수의 극소값을 구하는 방법입니다. 경사하강법 Gradient descent 경사하강법은 특정한 점 x를 잡고, 비용함수의 기울기를 구한 후, 기울기에 따라서 x의 값을 변화시켜주는 방법입니다. 그림으로 쉽게 설명하겠습니다. 여기 단순한 y=x^2의 그래프가 있습니다. 그리고 이 그래프의 아무점, 예를들어서 7.5를 잡아본다고 하겠습니다. x = 7.5일 때,..