[1,0,0][0,1,0][0,0,1] 등으로 표현을 한다.
One-hot 인코딩으로 표현을 할 때에는 행렬의 크기는 n*class수이다.
softmax를 사용해 다중 클래스 분류를 하게되면 y값을 one-hot 인코딩 값으로 만들어 행렬값으로 지정을 한다.
모든 클래스에 대한 확률값이 나온다.
참고
to_categorical()
→ 위 함수를 쓰게되면 one-hot 인코딩이 된다
→ 모델의 출력과 정답과 비교를 해서 손실오차를 계산해서 네트워크에 갱신하기 위해서 one-hot 인코딩을 사용함
모델 구성
model = Sequential([
Dense(64, input_dim = 28*28, activation ='relu')
Dense(32, activation ='relu')
Dense(10, activation = 'softmax')
])
model.compile(loss='categorical_crossentropy', optimizer='adam',metrics=['accuracy'])
categorical_crossentropy
→ 다중 클래스 분류에 사용이 된다.