-
모두를 위한 딥러닝 - 정리 (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)=1m∑mi=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−α1m∑mi=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+e−z
HR(x)=g(HL(x))
sigmoid : 0과 1 사이의 값을 가짐
H(X)=11+e−WTX
New cost function for logistic
cost(W,b)=1m∑mi=1(H(x(i))−y(i))2
=> 그래프의 모양이 달라서 어느 지점에 시작하느냐에 따라 최저점이 다름 (global minimum이 아니라 local minimum을 찾게됨) => 해당 cost function 사용 불가
New cost function
cost(W)=1m∑c(H(x),y)
c(H(x),y)={−log(H(x)),: y = 1−log(1−H(x)),: y = 0
위의 식을 한 줄로 편하게 변환
C(H(x),y)=−ylog(H(x))−(1−y)log(1−H(x))
Minimize cost - Gradient decent algorithm
cost(W)=−1m∑ylog(H(x))+(1−y)log(1−H(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 사용하여
- 0~1사이의 값
- 전체의 합이 1 (확률)
이 되도록 함
그 중 하나만 골라야 할 때 -> One-hot encoding
- 제일 큰 값을 1로, 나머지는 0으로
Cross-entropy cost function
cost function : 예측이 맞았을 땐 0, 예측이 틀렸을 때는 매우 큰 값을 주어야 함
ˉY와 Y의 차이가 최소가 되어야 함
S(Y)=ˉY softmax를 통과한 값, L=Y
D(S,L)=−∑iLilog(Si)
※ Logistic cost와 cross entropy는 사실상 같다고 볼 수 있음
Cost function
L=1N∑iD(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 - Supervised learning : 레이블된 데이터(training set)를 가지고 학습을 하는 것