"Keras"의 두 판 사이의 차이

오픈소스 비즈니스 컨설팅
둘러보기로 가기 검색하러 가기
잔글
1번째 줄: 1번째 줄:
Keras를 정리 한다.
+
[[TensorFlow]], [[Theano]], [[CNTK]] 등을 사용하기 편하게 해주는 Keras를 정리 한다.
  
 
== Model ==
 
== Model ==

2018년 8월 10일 (금) 11:38 판

TensorFlow, Theano, CNTK 등을 사용하기 편하게 해주는 Keras를 정리 한다.

Model

Layer

from keras.models import Sequential

model = Sequential()

Dense

from keras.layers import Dense

model.add(Dense(units=128, activation='relu', input_shape=(x_train.shape[1], )))

Activation

은닉층에서 사용하는 Activation

  • relu
  • linear. 계산된 값을 그대로 출력으로 보냄

출력층에서 사용하는 Activation

  • sigmoid. 이진 분류
  • softmax. 다중 분류

Loss

  • categorical_crossentropy : 분류시 사용
  • mse : 값 예측시 사용
model.compile(loss='categorical_crossentropy', optimizer=sgd(lr=0.01, momentum=0.9), metrics=['accuracy'])
model.compile(loss='mse', optimizer=sgd(lr=0.01, momentum=0.9), metrics=['accuracy'])

Optimizer

  • sgd (확률적 경사 하강법)
  • 학습률 (LR, Learning Rate) : 0.1, 0.01
  • momentum : 학습률 값을 고정하고 모멘텀 항으로 매개변수의 변경값을 조정
  • nesterov : True. 순수한 momentum을 약간 변형함
from keras.optimizers import SGD

model.compile(loss='mse', optimizer=SGD(lr=0.01, momentum=0.9, nesterov=True), metrics=['accuracy'])
  • adagrad : 학습률을 조정하며 학습
from keras.optimizers import Adagrad

model.compile(loss='mse', optimizer=Adagrad(lr=0.01, momentum=0.9, nesterov=True), metrics=['accuracy'])
  • adadelta : adagrad을 보완
from keras.optimizers import Adadelta

model.compile(loss='mse', optimizer=Adadelta(rho=0.95), metrics=['accuracy'])
  • rmsprop : adagrad을 보완
from keras.optimizers import RMSprop

model.compile(loss='mse', optimizer=RMSprop(lr=0.001), metrics=['accuracy'])
  • adam : 값을 예측할 경우 사용
from keras.optimizers import Adam

model.compile(loss='mse', optimizer=Adam(lr=0.001, beta_1=0.9, beta_2=0.999), metrics=['accuracy'])
  • adamax
  • nadam

참고 문헌

Metrics

  • accuracy : 정확도

Predict

참고 문헌