Deep Learning

분류의 문제에서 활성함수와 손실함수

yugyeong 2022. 12. 30. 17:21

활성함수 - Activation Function

1. Sigmoid

  • 2개의 분류 문제를 다룰 때 쓰는 활성 함수
  • 알려지지 않는 파라미터를 데이터로부터 추정해 0과 1로 분류하는 것

2. Softmax

  • 3개 이상의 분류 문제를 다룰 때 쓰는 활성 함수
  • 데이터를 0~1사이의 값으로 정규화하여 출력되는 값들의 총 합이 1이 되는 함수

 

 

손실함수 - Loss Function

1. binary_crossentropy

  • 2개의 분류 문제를 다룰 때 쓰는 손실 함수

 

2. categorical_crossentropy

  • 3개 이상의 분류 문제를 다룰 때 쓰는 손실 함수
  • 원핫 인코딩되어 있는 카테고리컬 데이터에 적용

 

3. sparse_categorical_crossentropy

  • 3개 이상의 분류 문제를 다룰 때 쓰는 손실 함수
  • 레이블 인코딩되어 있는 카테고리컬 데이터에 적용

 

# 인공지능 생성
model = tf.keras.models.Sequential()

# 플래튼 작업 : 다차원 행렬 1차원화
model.add(tf.keras.layers.Flatten())
model.add(tf.keras.layers.Dense(128, 'relu'))

# 활성함수 소프트맥스로 분류 문제로 출력
model.add(tf.keras.layers.Dense(10, 'softmax'))

# 분류 작업을 하는 손실함수를 이용하여 컴파일
model.compile('adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])

# 인공지능 학습
model.fit(training_images, training_labels, epochs=5)