Acdong
Learn by doing
Acdong
전체 방문자
오늘
어제
  • 분류 전체보기
    • Economy
      • Saving Money
    • Self-improvement
    • Thoughts
    • Machine learning
      • Deep Learning
      • Chatbot
      • NLP
    • MLops
      • AWS
      • Container
      • Serving
    • Computer Vision
    • Data Science
      • ADsP
      • R
    • Project
    • Python
      • Data Structure & Algorithm
    • C,C++
    • API
      • ElasticSearch
    • Error Note
    • Network
    • RDBMS
      • SQL

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • [GitHub]

인기 글

태그

  • pandas
  • c포인터
  • 데이터 전처리
  • Numpy
  • 어텐션
  • plot()
  • Python
  • R시각화
  • 존댓말 반말 분류
  • R
  • 이미지 전처리
  • R그래프
  • SentenceTransformer
  • 다중공선성
  • 머신러닝
  • sbert
  • 포인터
  • 회귀계수
  • nlp
  • 기계학습

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Acdong

Learn by doing

[Deep Learning] loss function - Cross Entropy
Machine learning/Deep Learning

[Deep Learning] loss function - Cross Entropy

2021. 1. 12. 10:13
728x90

딥러닝에서 손실함수의 종류는 여러가지가 있다.

하지만 cross entropy 는 잘 이해하지 못했는데 여기서 쉽게 이해한 내용을 정리해보고자 한다.

 

Cross-entropy 란?

틀릴 수 있는 정보(머신러닝 모델의 output) 로 부터 구한 불확실성 정보의 양이다.

잘 이해가 안되지만 밑에 예제를 살펴보자

 

여기서 Cross entropy 값은 딥러닝 분류문제에서 softmax 를 통해 나온 결과값과

oneHotEncoding 되어있는 정답 값의 차이라고 보면 된다.

 

여기서 Q를 예측한 값(Estimated PRobability) 이라고 하고 P를 정답 값(True Probability)이라고 생각해보자.

 

cross entropy 수식

cross entropy는 정보의 량(Q)에 log qi 분의 2를 사용하기 때문에

모델의 예측값의 확률(Q)을 사용하고 실제정답(P)을 곱해서
예측값이 실제 값과 얼마나 근사한지 알 수 있는 수치(Cross Entropy)가 된다.

정답과 예측값이 똑같을 경우

완전히 학습이 잘되서 완전히 할 경우 cross entropy 값은 0 이 나오게 된다. 

 

예측확률 0.8 실제값 1

위의 경우를 계산하면 

cross entropy 값은 0.32가 나온다.

 


서로 다른 분류모델을 비교할 때

   1번 2번 3번 정답
model 1 0.3 0.4 0.3 2번
model 2 0.1 0.7 0.2 2번

model1 과 model2 둘 다 2번을 정답으로 선택하기 때문에 정확도로 보면 둘중 어느 모델이 더 좋은지 알 수 없다.

하지만 cross entropy 를 사용하면 둘중 어느 모델이 정답과 더 근사했는 지를 알 수 있게 된다.

 


그래서 왜 머신러닝 분류 학습모델에서 loss function 로 cross entropy를 사용하고

cross entropy가 최소화 되도록 gradient desent 하는지 알게 되었다.

 

유튜브 허민석님의 영상을 참고했습니다.
반응형
저작자표시 비영리 (새창열림)

'Machine learning > Deep Learning' 카테고리의 다른 글

[PyTorch] . Tensorflow(텐서플로) PyTorch(파이토치) 차이점 비교  (0) 2021.09.15
[Deep Learning] Tensorflow 자주 사용하는 Tensor 함수 정리  (0) 2021.08.21
[Deep Learning] Weight Initialization(기울기 초기화), Xavier , He  (0) 2021.08.17
[Deep Learning] Activation Function ( 활성화 함수 ) - 비선형 함수(non linear function )  (0) 2021.08.17
[Deep Learning] Activation Function ( 활성화 함수 ) - 2. 종류  (0) 2021.01.31
    'Machine learning/Deep Learning' 카테고리의 다른 글
    • [Deep Learning] Tensorflow 자주 사용하는 Tensor 함수 정리
    • [Deep Learning] Weight Initialization(기울기 초기화), Xavier , He
    • [Deep Learning] Activation Function ( 활성화 함수 ) - 비선형 함수(non linear function )
    • [Deep Learning] Activation Function ( 활성화 함수 ) - 2. 종류
    Acdong
    Acdong
    E-mail : alswhddh@naver.com / 자연어처리와 MLops 를 연구하고 있는 스타트업 개발자입니다.

    티스토리툴바