이때 Y는 원-핫 인코딩(one-hot encoding)을 통해 위와 같이 변환된 점을 참고한다. 위의 자료는 모두 numpy의 array 형태로 나타난다. 다음 코드로 지금까지의 내용을 실습해보자.
>>> import tensorflow as tf >>> import numpy as np >>> x_data = np.array([[0, 0], [1, 0], [1, 1], [0, 0], [0, 0], [0, 1]]) >>> y_data = np.array([[1, 0, 0], [0, 1, 0], [0, 0, 1], [1, 0, 0], [1, 0, 0], [0, 0, 1]])
이제 앞의 X와 Y에 대해서 인공 신경망을 구성하여 학습을 진행해보자. 텐서플로의 학습 과정에서 중요한 것은 X와 Y를 연결하는 신경망의 구조이며, 이 신경망은 여러 개의 가중치로 구성이 된다. 이때 필요한 가중치의 차원(dimension)은 주어진 변수 X의 차원과 은닉층 노드의 수로 결정되는 점을 다시 복기해보자.
▲ 그림 8-19 인공 신경망 구성
>>> model = tf.keras.Sequential([ >>> tf.keras.layers.Dense(5, activation='relu'), >>> tf.keras.layers.Dense(3) >>> ] )