Non-linear hypothesis
Non-linear Classification
- x에 대해 비선형적 decision boundary를 구해야 할 때 매우 많은 features 조합이 필요하다.
- logistic regression은 feature의 수가 많아질수록 식을 위해 필요한 항이 매우 많아지고 overfitting이 발생할 수도 있다.
- 입력이 50×50×1 이미지인 경우 pixel 수는 2500, quadratic features만 2500C2≈3000000로 경우가 매우 많아진다.
- 위의 경우 Logistic regression 같은 non-linear classification은 좋은 해결 방법이 아니다.
- 이를 해결하기 위해 더욱 효율적인 neural network가 등장하였다.
Neurons and the brain
Neural Networks
- Origins: 뇌를 모방한 algorithms
- 80~90년대에 광범위하게 사용되었다.
- 최근 재기: 많은 영역에서 사용하는 최신 기술
Model representation
Neuron model: Logistic unit
![](https://velog.velcdn.com/images/hyeon-ii/post/90e017f1-ac85-43fd-94a3-15e87fb5acaa/image.png)
- x: 입력 신호 unit, θ: parameters/weights
x=⎣⎢⎢⎢⎡x0x1x2x3⎦⎥⎥⎥⎤,θ=⎣⎢⎢⎢⎡θ0θ1θ2θ3⎦⎥⎥⎥⎤
- layer: parameter 기준이 아닌 data 기준으로 count
- layer 1: unit 세 개로 이루어진 layer
Neural Network
hiddne layer를 중첩하는 구조이다.
![](https://velog.velcdn.com/images/hyeon-ii/post/0fd97ed8-989f-4baa-b13b-56302b99f03b/image.png)
x에서 a0은 연결하지 않는다.
- Hidden layer: 눈에 보이는 input, output layer와 달리 보이지 않는 중간 layer
- ai(j): layer j의 i unit의 activation
- θ(j): layer j와 layer j+1을 연결하는 mapping matrix
a1(2)=g(θ10(1)x0+θ11(1)x1+θ12(1)x2+θ13(1)x3)a2(2)=g(θ20(1)x0+θ21(1)x1+θ22(1)x2+θ23(1)x3)a3(2)=g(θ30(1)x0+θ31(1)x1+θ32(1)x2+θ33(1)x3)
- g: non linear activation function
- layer j에 sj units이 있고, layer j+1에 sj+1 units이 있다면
- θ(j)의 크기는 sj+1×(sj+1)이다.
- +1: 이전 unit의 bias
Forward propagation: Vectorized implementation
- Forward propagation: 연산 이후 다음 layer로 전달하는 과정
- 학습 시에는 backward propagation
- linear parameter θ를 아무리 중첩하여도 linear layer 하나 곱한 것과 동일한 효과
- z(2)=θ(1)a(1)
- a(2)=g(z(2))
- hθ(x)=a(3)=g(z(3))
Neural Network learning its own features
data x를 통해 θ를 구해야 한다.
- 올바른 θ를 구하기 위해서는 좋은 data가 필요하다.
Examples and intuitions
Non-linear classification example: XOR/XNOR
x1, x2가 0 or 1(binary)
Simple example: AND
- y=x1 AND x2
Example: OR function
- y=x1 OR x2
XOR function - Neural Network
x1 | x2 | AND | NOR | a0 OR a1 |
---|
0 | 0 | 0 | 1 | 1 |
0 | 1 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 |
1 | 1 | 1 | 0 | 1 |
Multi-class classification
- logistic regression의 경우 binary classification N개 중 가장 확률이 큰 값을 prediction으로 출력하였다.
- Neural network의 경우 단 하나의 모델로 표현 가능하다.
one-hot encoding
- when answer 0
hθ(x)≈⎣⎢⎢⎢⎡1000⎦⎥⎥⎥⎤
- when answer 1
hθ(x)≈⎣⎢⎢⎢⎡0100⎦⎥⎥⎥⎤