티스토리 뷰
이 자료는 Cousera 강의 중 Andrew Ng교수님의 Machine Learning 강의를 더욱 잘 이해하기 위해서 학습용으로 정리하기 위한 자료입니다.
#Supervised Learning
지도 학습이란 위와 같이 O나 X와 같이 label이 정해져있어 그 함수를 유추해내기 위한 방법이다.
1.Linear Regression
- 연속적인 값을 갖는 output을 유추해내는 방법이다.
- 평수에 따른 집의 가격예측, 학습시간에 따른 성적예측
2. Classification
- 0 또는 1처럼 맞거나 아니거나 둘 중 하나의 값을 갖게되는 것을 분류하는 방법이다.
- 질병감염의 유뮤, 스팸메일의 구분
#Unsupervised Learning
비지도 학습이란, 대상에 대한 label이 정해져있지 않은 상태에서 학습하는 방법이다.
1. Clustering
- 비슷한 항목별로 분류하는 방법이다.
- 뉴스에서 비슷한 기사를 분류
2. Cocktail Part
- 여러 소리가 섞인 음성에서 특정 소리만을 추출해내는 방법
#Model
일반적으로 비지도 학습의 경우 Training Set으로 부터 학습 알고리즘을 통해 hypothesis 함수 h를 결정하고
입력값이 h를 통과하여 나온 출력값을 예측값으로 계산한다.
#Cost Function and Goal
일반적으로 Hypothesis는 위와 같은 수식으로 표현한다.
이때 Parameter가 되는 세타0은 bias의 역할을, 세타1은 weight의 역할을 한다.
Cost Function이란 학습을 위해 오차가 어느정도 인지를 알리는 함수이다.
예측값 h(x)와 실제값 y의 차이의 제곱의 평균을 cost function으로 사용한다.
학습의 최종 목표는 이 cost function을 최소화하는 세타0과 세타1을 찾아 이상적인 h함수를 찾는것이다.
#Gradient Descent
Gradient Descent 는 위의 cost function의 최소값을 찾는 알고리즘이다.
J함수를 파라미터 세타0과 1로 각각 편미분하여 learning rate 알파값을 곱한 값을 원래의 값에서 빼준다.
:= 기호의 이미는 프로그래밍에서 처럼 assign해주는 것이다.
여러 변수가 있는 경우 동시에 1step을 가야 하기 때문에 temp라는 임시값에 값을 할당한 후,
모든 파라미터가 업데이트 되면 그 이후에 할당해준다.
매 step마다 learning rate를 작게 바꿔줘야 한다고 생각 할 수 있지만, 실제로 그렇지 않다.
편미분값이란 기울기를 의미하므로 cost가 작아질수록 기울기값도 감소하여 수식을 살펴보면
파란 박스의 값이 감소하여 자동으로 이동 폭이 작아진다.
위와 같이 Gradient Descent를 적용한 결과 기울기가 미분되어진 반대방향으로 조금씩 이동하여
각각의 파라미터가 cost의 최소방향으로 이동한다.
이 때, 이 알고리즘이 항상 최솟값으로 수렴하는 것은 아니다.
초기화되어진 파라미터값에 시작 위치에 따라 local optimal로 수렴할수도 global optimal로 수렴할 수도 있다.
Linear Regression은 항상 global optimal로 수렴한다.
'ML | DL' 카테고리의 다른 글
[Machine Learning]K-means 알고리즘 (0) | 2019.01.21 |
---|---|
[Coursera] Machine Learning 4주차 강의정리 (0) | 2018.09.10 |
[Coursera] Machine Learning 3주차 강의정리 (0) | 2018.09.07 |
[Coursera] Machine Learning 2주차 강의정리 (0) | 2018.09.05 |
[딥러닝] 아주쉬운 Windows에서 Tensorflow설치하기 (0) | 2018.01.10 |
- Total
- Today
- Yesterday