다중 클래스 분류와 소프트맥스

박병규·2021년 8월 8일
0

인공지능_부트캠프

목록 보기
16/17
post-thumbnail

다중 클래스?

  • 다중 클래스 분류 문제는 이진 분류기 여러 개로 해결을 함
  • 각각의 w와b를 학습한 분류기에서 각각의 확률값을 추정한다.
  • 각각의 확률값에서 확률값이 가장 높은것이 어떤 클래스인지 판단을 할 수 있게 된다.

One-hot 인코딩

[1,0,0][0,1,0][0,0,1] 등으로 표현을 한다.

One-hot 인코딩으로 표현을 할 때에는 행렬의 크기는 n*class수이다.

softmax를 사용해 다중 클래스 분류를 하게되면 y값을 one-hot 인코딩 값으로 만들어 행렬값으로 지정을 한다.

Softmax

모든 클래스에 대한 확률값이 나온다.

참고

https://wikidocs.net/35476

코드

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

    → 다중 클래스 분류에 사용이 된다.

profile
computer science student

0개의 댓글