728x90
#3. Neural network training
Training Details
1️⃣ Define the model
- Sequential( (Dense(n,~~ )
2️⃣ Loss and cost function
- Logistic regression → loss = 'binary_cross_entropy'
- ※ binary cross entropy : -y * log(f(x)) - (1-y)log(1-f(x))
- model.compile( loss = 'BinaryCrossentropy())
- Regression → loss = 'mse'
3️⃣ Gradient descent
- Use backpropagation to find w, j with computing derivatives for gradient descent (=오차역전파!)
- model.fit(X,y,epochs=n)
#4. Activation Functions
Alternatives to the sigmoid activation
- ReLu : z가 음수면 무조건 g(z)=0, z가 양수이면 g(z)=z →g(z) = max(0,z)
- Linear activation function : g(z)=z (아예 액티베이션이 없는것보단 얘라도 쓰는게 낫다)
- Softmax : 추후 다시 다룰 예정
Choosing activation function
그렇다면 어떤 activation function을 고를 것인가!
Output layer의 경우 Output의 형태에 다름
- Binary classification (y=0,1) : Sigmoid 'sigmoid'
- Regression (y= +/-) : linear activation function 'linear'
- Regression (y= 0 or +) : ReLU 'relu'
Hidden layer의 경우
- Most common : ReLU
- 과거 : sigmoid 종종 씀
- 이유 : ReLU가 좀 더 빠름 , ReLU가 한 쪽만 flat한 그래프 모양 → 경사하강법 할 때 좀 더 빨라짐 (플랫한 모양이 많을수록 경사하강법이 느려짐)