Processing math: 100%

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)=1mmi=1(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αWcost(W)

     

    미분 완료한 최종 식

    W:=Wα1mmi=1(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(x1,x2,x3,...,xn)=w1x1+w2x2+w3x3+...+wnxn+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

    (x1x2x3)(w1w2w3)=(x1w1+x2w2+x3w3)

    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

    HL(X)=WX

    z=HL(X),g(z)

    g(z)=11+ez

    HR(x)=g(HL(x))

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

     

    H(X)=11+eWTX

     

    New cost function for logistic

    cost(W,b)=1mmi=1(H(x(i))y(i))2

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

     

    New cost function

    cost(W)=1mc(H(x),y)

     

    c(H(x),y)={log(H(x)), y = 1log(1H(x)), y = 0

     

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

     

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

     

    Minimize cost - Gradient decent algorithm

    cost(W)=1mylog(H(x))+(1y)log(1H(x))

     

    W:=WαWcost(W)

     


    ML lec 06 - Softmax classification  

    Y : real data, ˉY : 예측값 (ˉY=H(X))

    Multinomial classification

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

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

    각각의 ˉY 에 sigmoid를 적용해야 할까?

     

    softmax

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

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

    이 되도록 함

     

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

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

     

    Cross-entropy cost function

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

    ˉYY의 차이가 최소가 되어야 함

    S(Y)=ˉY softmax를 통과한 값, L=Y

     

    D(S,L)=iLilog(Si)

     

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

     

    Cost function

    L=1NiD(S(WXi+b,Li)

     

    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.