-
TensorFlow Implementation | Advanced Learning AlgorithmMachine Learning/Stanford ML Specialization 2024. 2. 11. 13:07
이 Neural Network를 코드로 표현해보자. 먼저, tensorflow를 import하고, 각 레이어를 Dense를 이용해서 생성하고, Sequential을 이용해서 Neural Network를 생성할 수 있다.
import tensorflow as tf from tensorflow.keras import Sequential from tensorflow.keras.layers import Dense
자, 이제 하나하나의 Layer를 만들고, 그것을 순차적으로 갖고있는 모델을 생성하도록 Sequential을 사용해보자.
model = Sequential([ Dense(units=25, activation='sigmoid'), Dense(units=15, activation='sigmoid'), Dense(units=1, activation='sigmoid'), ])
이제 모델을 compile 해주어야하는데, 모델을 설정해주는 작업이다. 여기서는 어떤 loss function(손실 함수)를 사용할지 지정해주게 된다. 모델을 트레이닝 하면서 이 loss function을 사용해서 실제 값에 가까워질 수 있도록 계산할 수 있다. 이 예시에서는 BinaryCrossentropy를 사용했다. cross-entropy를 사용해서 예측값과 실제값을 비교하는 방법이다.
from tensorflow.keras.loses import BinaryCrossentropy model.compile(loss=BinaryCrossentropy())
이제 미리 준비해둔 데이터셋 X, Y를 이 모델에 맞추도록(fit) 해주고, 위에서 지정한 BinaryCrossentropy를 이용한 경사 하강법을 실행할 단계 수를 주어야하는데, 이것을 epochs로 지정한다. epochs는 여기서 쓰는 기술적 언어인데, number of steps in gradient descent, 즉 경사 하강법에서 단계의 갯수이다. (참고글) 이렇게 fit 함수를 이용해 모델을 트레이닝 한다.
model.fit(X, Y, epochs=100)
이 코드 뒤에선 무슨일이 일어나고 있을까? 추후 모델을 트레이닝 했을 때, 내 생각대로 모델이 나오지 않는다면 디버깅이 필요한데, 이를 위해서는 모델에 대해 이해하고 있어야 한다. 그것은 다음시간에 알아보자.
Tensorflow 코드 뒤에 어떤일이 일어나고 있는지 말해주라,,, 하는 맘에 헤이즈의 말해주라를 추천해봅니다.
https://www.youtube.com/watch?v=Y7recSrmnF4
말해주라,,, Reference
Advanced Learning Algorithms
In the second course of the Machine Learning Specialization, you will: • Build and train a neural network with TensorFlow to perform multi-class ... 무료로 등록하십시오.
www.coursera.org
'Machine Learning > Stanford ML Specialization' 카테고리의 다른 글
Activation Functions | Advanced Learning Algorithm (0) 2024.03.24 TensorFlow Training Details | Advanced Learning Algorithm (0) 2024.02.11 Matrix Multiplication Code | Advanced Learning Algorithm (0) 2024.02.10 Matrix Multiplication Rules | Advanced Learning Algorithm (0) 2024.02.10 Matrix Multiplication | Advanced Learning Algorithm (0) 2024.02.10