그 동안 체득한 습관으로는
deep learning 정확하게 이해하기 힘들다..
입력을 넣으면 처리되고 결과 나온다는
기본적인 생각이다
처리(규칙) 대해서는 사람이 코딩하고 입력도 사람이 넣고
그 계산된 결과를 컴퓨터가 내보낸다.
그 틀에서
생각하려니
이해가 안간 듯..
deep learning는
입력과 결과는 사람이 넣고
그걸 보고(입력과 결과를 보고)
컴퓨터는 처리(규칙) or 코딩를 예측하라가 맞는 듯
아래는 유튜브 동영상 필기 자료..
6줄이라..
생각하기에 좋은 코드다..
dictionary][ model( 모델 정의 )
모델 정의
학습된 뉴럴 네트워크를 모델이라고 부름
ex) model = keras.Sequential([keras.layers.Dense(utits=1,input_shape=[1])])
하나의 레이어로 이루어 져 있다.
[keras.layers.Dense(units=1,input_shape=[1])]
여기서 keras.layers.Dense가 레이어다
units=1은 이 레이어가 하나의 뉴런으로 구성
하나의 입력을 하는데 이 예제에서는 x값을 입력하고 뉴럴 네트워크가 y값 예측하게 한다.
그래서 input_shape가 하나의 값을 가진다.
input_shape=[1]
* 모델 컴파일
모델 컴파일 할 때 2개의 함수 필요
model.compile( optimizer='sgd',loss='mean_squared_error')
머신러닝은 숫자들의 관계에 대해 예측하면서 동작한다
1) loss function or 손실함수
예) y = 5 * x + 5 예측했다면 ,
그 이후 loss function를 이용하여 이 예측이 얼마나 맞았는지 계산 한다.
2) optimizer 함수
새로운 수식을 예측한다.
예측을 향상 시킨다
model.fit( xs , ys, epochs=500) # 이 예제를 500번 반복한다
데이타 자체는 x와 y값은 배열로 주어지고
그 값을 서로 맞추는 과정은 fit함수를 통해 이루어 진다.
말 그대로 x를 y에 fit 한다고 하고 500회 반복한다.
xs = np.arrary([ -1.0 , 0.0 , 1.0 , 2.0 , 3.0 , 4.0 ] , dtype=float )
ys = np.arrary([ -3.0 , -1.0 , 1.0 , 3.0 , 5.0 , 7.0 ] , dtype=float )
model.fit( xs , ys, epochs=500)
이 과정이 끝나면 학습된 모델을 갖는다.
아래 코드는 x가 10일때 y값 예측 하는 코드다.
print( model.predict([10.0]))
테스트 해보기 : https://speedr00t.tistory.com/772?category=853027
'Deep learning > 0x01-dictionary' 카테고리의 다른 글
dictionary][ SGD ( Stochastic Gradient Descent ) (0) | 2020.01.07 |
---|