ABOUT ME

Today
-
Yesterday
-
Total
-
  • 모두를 위한 딥러닝 - 정리 (1~6)
    공부/머신러닝 2021. 3. 13. 03:39

    모두를 위한 딥러닝 : www.youtube.com/watch?v=BS6O0zOGX4E&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=2

    lecture만 정리


    ML lec 01 - 기본적인 Machine Learning의 용어와 개념 설명

    Machine Learning

    프로그램 자체가 데이터를 학습하는 것

     

    • Supervised learning : 레이블된 데이터(training set)를 가지고 학습을 하는 것 
      • Types of supervised learning : regression, binary classification, multi-label classification
      • 들인 시간에 따른 시험 성적 예측 : regression
      • 들인 시간에 따른 Pass/non-pass 여부 : binary classification
      • 들인 시간에 따른 알파벳 : multi-label classification

     

    • Unsupervised learning : 레이블되어있지 않은 데이터를 가지고 학습을 하는 것

     


    ML lec 02 - Linear Regression의 Hypothesis와 cost 설명

     

    Regression model을 학습하기 위해서는 하나의 가설을 세울 필요 있음

     

    • (Linear) Hypothesis : 어떤 데이터에 맞는 linear한 선을 찾는다. 
      • -> 선을 찾는 과정 : "학습"
      • $H(x) = Wx+b$
        • H는 가설, W와 b에 따라 선의 모양이 변함

     

    • 어떤 선이 데이터에 가장 적합할까?
      • W와 b를 찾기
      • Cost function : 실제 데이터와 가설이 나타내는 직선 상의 점들과의 거리를 계산
        • $cost(W,b) = {1\over m} \sum_{i=1}^m(H(x^{(i)})-y^{(i)})^2$
        • 가장 작은 값을 가지는 W,b를 찾기 

     


    ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명

    Gradient descent algorithm (경사하강법)

    • Minimize cost function
    • 여러 minimization 문제에 사용됨
    • cost를 최소화 하기 위한 W, b를 찾음

    동작 원리

    • W와 b를 변화시키며 cost(W,b)를 줄여감
    • 어떤 지점에서 시작하든지 최저점에 도달할 수 있음
    • 경사는 미분으로 구함

    cost function 이해하기 쉽게 변환

    $cost(W) = {1\over 2m} \sum_{i=1}^m(Wx^{(i)})-y^{(i)})^2 $

    $W := W - \alpha {\partial\over{\partial W}}cost(W) $

     

    미분 완료한 최종 식

    $W:=W - \alpha {1\over m} {\sum_{i=1}^m (Wx^{(i)}-y^{(i)})x^{(i)}}$

    해당 식을 반복하여 W를 변화시키며 cost를 minimize하는 값을 찾음

     

    ※cost function의 모양이 Convex function인지를 확인하고 gradient descent algorithm을 사용해야 함

     

     


    ML lec 04 - multi-variable linear regression

    regression using multi-variable

    $H(x_1, x_2, x_3, ..., x_n) = w_1x_1 + w_2x_2 + w_3x_3 + ... + w_nx_n + b$

     

    $cost(W,b) = {1\over m} \sum_{i=1}^m(H(x_1^{(i)}, x_2^{(i)}, x_3^{(i)}, ... x_n^{(i)})-y^{(i)})^2 $

     

    => matrix multipliction 사용

     

    Hypothesis using matrix

    $\begin{pmatrix} x_1 & x_2 & x_3\end{pmatrix} \cdot \begin{pmatrix} w_1 \\ w_2 \\ w_3 \end{pmatrix} = (x_1w_1 + x_2w_2 + x_3w_3)$

    $H(X) = XW$

    => 인스턴스가 더 많아져도 동일한 방식으로 적용 가능

     

    X matrix의 크기 : [instance 개수, variable 개수]

    H(X) matrix의 크기 : [instance 개수, output 개수 n]

    => W의 크기를 결정해야 함 : [variable 개수, output 개수 n]

     

    • Lecture (theory) : $H(x) = Wx+b$
    • Implementation (TensorFlow) : $H(X) = XW$

     


    ML lec 05 - Logistic Regression 

    Logistic (regression) classification

    Classification : 분류 (binary classification(0,1 encoding))

     

    Logistic Hypothesis

    $H_L(X) = WX$

    $z = H_L(X) , g(z)$

    $g(z) = {1 \over {1+e^{-z}}}$

    $H_R(x) = g(H_L(x))$

    sigmoid : 0과 1 사이의 값을 가짐

     

    $H(X) = {1 \over {1+e^{-W^TX}}}$

     

    New cost function for logistic

    $cost(W, b) = {1 \over m} \sum_{i = 1}^m (H(x^{(i)}) - y^{(i)})^2$

    => 그래프의 모양이 달라서 어느 지점에 시작하느냐에 따라 최저점이 다름 (global minimum이 아니라 local minimum을 찾게됨) => 해당 cost function 사용 불가

     

    New cost function

    $cost(W) = {1 \over m}\sum c(H(x), y)$

     

    $c(H(x), y) = \begin{cases} -log(H(x)), & \mbox{: }\mbox{ y = 1} \\ -log(1-H(x)), & \mbox{: }\mbox{ y = 0} \end{cases}$

     

    위의 식을 한 줄로 편하게 변환

     

    $C(H(x), y) = -ylog(H(x)) - (1-y)log(1-H(x))$

     

    Minimize cost - Gradient decent algorithm

    $cost(W) = -{1 \over m}\sum ylog(H(x)) + (1-y)log(1-H(x))$

     

    $W := W - \alpha {\partial \over {\partial W}}cost(W)$

     


    ML lec 06 - Softmax classification  

    Y : real data, $\bar{Y}$ : 예측값 ($\bar{Y} = H(X)$)

    Multinomial classification

    2개가 아닌 n개로 분류하는 경우 -> binary classification을 통해 구분하는 n개의 선을 찾아야 함

    n번 독립적으로 계산하기보다 한 번으로 합치는 것이 나음 (matrix multiplication 사용)

    각각의 $\bar{Y}$ 에 sigmoid를 적용해야 할까?

     

    softmax

    Logistic classifier(WX=Y)의 결과인 $\bar{y}$ 들은 각각 값을 가지고 있을 것 -> softmax 사용하여

    1. 0~1사이의 값
    2. 전체의 합이 1 (확률)

    이 되도록 함

     

    그 중 하나만 골라야 할 때 -> One-hot encoding

    • 제일 큰 값을 1로, 나머지는 0으로

     

    Cross-entropy cost function

    cost function : 예측이 맞았을 땐 0, 예측이 틀렸을 때는 매우 큰 값을 주어야 함

    $\bar{Y}$와 $Y$의 차이가 최소가 되어야 함

    $S(Y) = \bar{Y}$ softmax를 통과한 값, $L = Y$

     

    $D(S,L) = - \sum_i L_{i}log(S_i)$

     

    ※ Logistic cost와 cross entropy는 사실상 같다고 볼 수 있음

     

    Cost function

    $L = {1 \over N} \sum_i {D(S(WX_{i}+b,L_i)}$

     

    Gradient descent

    cost를 최소화하는 값 W 찾기 -> Cost function을 미분하는 Gradient descent algorithm 사용

    '공부 > 머신러닝' 카테고리의 다른 글

    Kaggle - House Price  (0) 2021.04.05
    Kaggle - Titanic  (0) 2021.03.30
    모두를 위한 딥러닝 - 정리 (7~12)  (0) 2021.03.22

    댓글

Designed by nanometre380.