AND 문제

# 1. Numpy 가져오기
import numpy as np

print(np.__version__)
import keras

print(keras.__version__)
# 3. Keras 패키지 가져오기
from keras.models import Sequential
from keras.layers import Dense, Activation
from keras.optimizers import SGD
# 2. 입력/출력 데이터 만들기

X = np.array([[0,0],[0,1],[1,0],[1,1]])
y = np.array([[0],[0],[0],[1]])
# 4. Perceptron 모델 생성

model = Sequential()

model.add(Dense(units=1, input_dim=2, activation='sigmoid'))

model.summary()

# 5. Compile - Optimizer, Loss function 설정

sgd = SGD(lr=0.1)

model.compile(loss='binary_crossentropy',
              optimizer=sgd)
# 6. 학습시키기

model.fit(X,y, batch_size=1, nb_epoch=500)
# 7. 모델 테스트하기
test = np.array([[0,1]])
pred = model.predict(test)

print(pred)

[[0.09028968]]

print(model.get_weights())

[array([[4.248023 ], [4.2462897]], dtype=float32), array([-6.5563927], dtype=float32)]

 


OR 문제

X = np.array([[0,0],[0,1],[1,0],[1,1]])
Y = np.array([[0],[1],[1],[1]])
model = Sequential()

model.add(Dense(1, input_dim=2, activation='sigmoid'))
model.summary()

sgd = SGD(lr=0.1)
model.compile(loss='binary_crossentropy', optimizer='sgd')
model.fit(X,Y, batch_size=1, nb_epoch=100)
test = np.array([[1,1]])
model.predict(test)

array([[0.9742955]], dtype=float32)

 

XOR 문제

 

X2 = np.array([[0,0],[1,0],[0,1],[1,1]])
Y2 = np.array([[0],[1],[1],[0]])
model_2 = Sequential()

model_2.add(Dense(units=16,input_dim=2, activation='relu'))
model_2.add(Dense(units=1, activation='sigmoid'))

model_2.compile(loss='binary_crossentropy',optimizer=sgd)
model_2.fit(X2,Y2, batch_size=1, nb_epoch=200)
test = np.array([[0,0],[1,0],[0,1],[1,1]])
pred = model_2.predict(test)
print(pred)

 

'Data Anaylsis > Deep Learning' 카테고리의 다른 글

딥러닝 3일차  (0) 2020.03.18
딥러닝 2일차  (0) 2020.03.17
Keras 모델 생성/학습 - 당뇨병 예측 모델  (0) 2020.03.16
Deep learning 1일차  (0) 2020.03.16
conda 가상환경 설치  (1) 2020.03.13

+ Recent posts