반응형
import numpy as np
#데이터 생성 x입력 y출력
x = np.array([1,2,3,4,5,6,7,8,9,10])
y = np.array([1,2,3,4,5,6,7,8,9,10])
from keras.models import Sequential
from keras.layers import Dense
#1차 함수 모델 구성
#순차적 구성
model = Sequential()
#순차적 구성 모델에 Dense(레이어 layer)를 추가
model.add(Dense(1, input_dim=1, activation='relu'))
#컴파일 loss: 손실함수 optimizer:최적화함수 metrics:방식(accuracy:정확도)
model.compile(loss='mean_squared_error', optimizer='adam' ,metrics=['accuracy'])
#케라스 모델 실행 epochs훈련횟수 batch_size 몇 개씩 나눠서? 클수록 빠르지만 정확도 떨어질수 있고 적을 수록 속도는 떨어지지만 정확도는 올라갈 수 있음. 물론 너무 많은 데이터를 너무 작게 하면 정확도 떨어짐. 이는 overfiting(과적합)의 영향 때문
model.fit(x, y, epochs= 500, batch_size=1)
#최종 결과에 대한 평가 loss는 작을 수록 acc는 1에 가까울수록 좋다.
loss, acc = model.evaluate(x, y, batch_size=1)
print("loss : ", loss)
print("acc : ", acc)
1차 함수 y = ax + b
딥러닝
w = wx + b
h(x) = wx + b
a만 w로 바뀌었다. a는 보통 기울기라고 한다. 딥러닝을 할 때는 보통 w라고 표시하면서 weight라고 읽는다. b는 그대로 bias, h는 hypothesis라고 읽고 가설이라고 이해한다.
결국 딥러닝은 빅데이터 등으로 준비한 x값(입력값)과 y값(결괏값)을 가지고 훈련을 시켜서 w값(weight, 가중치)과 b값(bias, 절편)을 구하는 행위의 반복이고, 이때 컴퓨터는 한 가지 값을 더 제공하는데 이것이 Cost(비용)이다.
비용인 Cost는 낮을수록 좋다. 이후 정확한 값을 예측되었는지 확인하기 위해 accuracy와 predict를 사용한다.
반응형
'AI > DeepLearning' 카테고리의 다른 글
회귀모델의 판별식 R2, RMSE (0) | 2020.06.23 |
---|---|
회귀 모델 2 101~110 예측하기 (0) | 2020.06.23 |
텐서플로우 개발 환경 구축 3 (PyCharm 설치) (0) | 2020.06.04 |
Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 (0) | 2020.06.02 |
텐서플로우 개발 환경 구축 2 (텐서플로우 설치) (0) | 2020.06.01 |