티스토리 뷰

ML

ML 이론 강의 필기 - 1

khe0616 2018. 10. 17. 19:26

Lec0. ML 소개


- ML의 기본적 알고리즘 : Linear Regression, Logistic Regression

-> Neural Networks, Convolutional Neural Network, Recurrent Neural Network 등의 Deep Learning 알고리즘을 이해하기 위한 기본적 알고리즘이다.




Lec1. ML의 기본 개념


- Machine Learning : 명시적으로 코딩하지 않고도 컴퓨터가 학습할 수 있는 알고리즘, 기술을 개발하는 분야




- 학습 방법에 따라 Supervised Learning과 unSupervised Learning으로 나누어 진다.

- Supervised Learning(지도 학습) : ML에서 가장 일반적인 문제
         -> 데이터에 대한 레이블-명시적인 정답이 주어진 상태에서 컴퓨터를 학습시키는 방법

         -> (데이터, 레이블) 형태의 training set으로 학습을 진행하는 방법


        -> ex) MNIST(이미지를 통해 숫자 예측)





- unSupervised Learning(비지도 학습)

        -> 데이터에 대한 레이블-명시적인 정답이 주어지지 않은 상태에서 컴퓨터를 학습시키는 방법

        -> (데이터) 형태로 학습을 진행하는 방법


        -> ex) 무작위로 분포되어 있는 데이터를 비슷한 특성을 가진 세가지 부류로 묶는 Clustering 알고리즘(사진)

        -> ex) 구글 뉴스 그룹핑



- Supervised Learning의 유형

학습 시간에 대한 시험 점수 예측 -> Regression


학습 시간에 대한 합/불 예측 -> Binary Classification


학습 시간에 대한 등급(A, B, C, E, F) 예측 -> Multi-label Classification





Lec2. Linear Regression(선형 회귀)



위의 training data set에서 학습 시간에 대한 시험 점수를 예측하기 위해 회귀 분석이 사용된다.




회귀 분석이 적용될 수 있는 training data set이다.

왼쪽의 데이터를 그래프에 나타내면 오른쪽과 같다.






그래프 상의 Data(점)에 맞는 선을 찾는 것을 가설(Hypothesis) 수립 이라고 한다.

Data와 가장 유사한 선은 파란 선이며, 일차 함수의 형태이므로 Linear한 Hypothesis이다.






Linear Regression의 Hypothesis는 위와 같다.
실제 Data와 가장 유사한 선을 만들도록 하는 W(weight)와 b(bias)를 구하는게 학습의 핵심이다.

세상의 많은 Data가 Linear한 경우가 많다고 한다.








이제, 실제 Data에 대한 Hypothesis의 오차를 최소로 만들어야 한다.



일단.

오차 = Hypothesis - 실제 Data

이다.
Hypothesis와 실제 Data 사이의 거리를 최소로 만들어야 한다.







Cost함수는 비용함수 라고도 불리는데, 실제 Data와 Hypothesis 사이의 거리(오차) 를 나타내는 함수이다.

m은 데이터의 개수이다.

Cost함수를 최소로 만드는 W(weight)와 b(bias)를 구하는 것이 Linear Regression학습의 핵심이자 목표이다.



빨간 밑줄친 부분에서 오차를 제곱시킨 이유는 2가지 장점때문이다.

    1. 양수로만 표현이 가능

    2. hypotehsis와 실 Data의 차이가 작을 때 보다 클 때 부각된다. (Penalty가 크다.)







Lec3. Linear Regression의 Cost함수 Minimize




Linear Regression의 Hypothesis와 Cost함수이다.







쉽게 설명하기 위해 Hypothesis에서 bias는 무시한다.










Linear Regression의 Cost함수를 그래프로 나타내면 위와 같다.

Cost 함수가 최소화 되는 W를 찾아야 한다. <- 파란색 화살표 부분







- Gradient descent algorithm : Cost 함수를 최소화 시키기 위한 알고리즘

        -> 경사를 따라 타고 내려가는 알고리즘이다.

        -> Cost(W, b)에서 minimize cost하는 W, b를 찾게 된다.

        -> general function인 Cost(w1, w2, w3, .....) 에도 적용가능한 알고리즘


    장점 : 어떤 점에서 시작하든 항상 최저점에 도달가능

         -> 따라서 위의 사진의 어떤 점에서 시작하든, 경사로를 따라 내려가다가 결국 W = 1(최저점) 에 도달하게 된다. 



파란색 부분이 바로 Cost 함수인데, 미분 적용을 쉽게하기 위해 빨간색 밑줄과 같이 2로 나누어 준다.

검정색 부분이 최종적인 Gradient Descent Algorithm이다.



Cost함수의 기울기가 양수(오른쪽 부분)일 경우에는 W가 작아지는 쪽으로 움직이고,

Cost함수의 기울기가 음수(왼쪽 부분)일 경우에는 W가 커지는 쪽으로 움직인다.

따라서, 조금씩 경사로를 따라 내려가게 된다.


알파는 1 step에 얼만큼씩 움직이는지를 나타낸다.(learning_rate)










- 주의사항


Cost함수의 그래프가 3차원에서 다음과 같은 형태인 경우.

시작점에 따라 다른곳으로 내려오기 때문에 Gradient descent algorithm이 잘동작하지 않는다.








따라서, Cost 함수를 설계할때는 반드시 3차원에서의 모양이 위와같이 Convex function이 되는지 확인하여야 한다.

위의 Convex Function은 어느 점에서 시작하든 도착점이 같기 때문에, Gradient descent algorithm이 잘 동작하게 된다.

다행히도 전에 설명한 Linear Regression의 Cost함수는 Convex function이 된다.






Lec4. Multi-variable Linear Regression


지금 까지는 input variable이 하나였다. (학습 시간)







이제부터는 input variable이 n개이다. 

사진의 경우 (학습 시간, 출석)







따라서, Hypothesis가 위와 같이 바뀐다.


그러나 Hypothesis가 너무 길어서, 쓰기 불편한 감이 있다.

-> 이를 해결하기 위해 Matrix 사용 (Matrix의 곱셈 연산)







Hypothesis를 Matrix의 곱형태로 나타내면 이와 같다.


그러나 텐서플로우에서 구현할때는,

H(X) = XW + b의 형태로 표현한다.




'ML' 카테고리의 다른 글

ML 이론 강의 필기 - 5  (0) 2018.11.16
ML 이론 강의 필기 - 4  (0) 2018.11.12
ML 이론 강의 필기 - 3  (0) 2018.10.27
ML 이론 강의 필기 - 2  (0) 2018.10.17
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/07   »
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
글 보관함