pullwall
Well done! 코딩
pullwall
전체 방문자
오늘
어제
  • 분류 전체보기 (151)
    • 개발환경 (2)
    • java study (21)
    • 백준 단계별 (51)
    • 알고리즘 (3)
    • AI (43)
    • 클라우드 (3)
      • Kubernetes in Google (3)
    • 논문 (5)
    • 리눅스 (1)
    • AWS (4)
    • 수학 (15)
    • 기타 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 자바
  • 정렬
  • 정렬알고리즘
  • 쿠버네티스
  • pytorch
  • Kubernetes
  • 단계별
  • 자바독학
  • Java
  • 알고리즘
  • 논문리뷰
  • AWS
  • 백준
  • LLM
  • Ai
  • dataset
  • 선택정렬
  • 수학
  • 백준 단계별
  • Google

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
pullwall

Well done! 코딩

AI

Sigmoid를 이용한 이진 분류, Logistic Regression

2024. 9. 4. 18:23
728x90
해당 게시물은 "혁펜하임의 AI DEEP DIVE"를 수강하고 작성되었습니다.

강아지 사진을 y=1, 고양이 사진을 y=0이라고 하고

강아지 사진이 나올 확률을 q=1 고양이 사진이 나올 확률을 q=0이라고 정의하자.

 

그렇다면 강아지 사진이 나올 확률을 구하는 수식은 아래와 같다.

  • $q^{y}(1-q)^{(1-y)}$

만약 사진을 100장 준다면 수식은 아래와 같다. 사진을 주는 행위는 독립시행이기때문에 곱한다.

  • $q_1^{y_1}(1-q_1)^{(1-y_1)}q_2^{y_2}(1-q_2)^{(1-y_2)} \cdots q_{100}^{y_{100}}(1-q_{100})^{(1-y_{100})}$

 

하지만 이렇게 계속 0과 1사이의 값을 계속 곱하면 숫자가 너무 작아져 대소구별을 할 수 없는 underflow 문제가 발생한다.

 

따라서 $\log$를 취한다.

 

곱이 합으로 바뀌었기 때문에 underflow 문제는 발생하지 않는다.

 

우리는 강아지 사진이 나올 확률을 maximize 할 것이기 때문에 로그를 취하나, 취하지 않나 그 결과는 동일하다.

 

MSE에서 에러를 다 squared해서 더한 후 전체 데이터의 개수로 나누지 않는 것과 같다.

해당 경우 나누나 나누지 않나 어차피 에러를 minimize 할 것이기 때문에 결과는 동일하다.

 

$loss$를 maximize 하는 것과 $\log{loss}$를 maximize 하는 것의 방향은 같기 때문에, ($\log$함수가 "단조증가"하기 때문)

$loss$를 maximize하나 $\log{loss}$를 maximize하나 상관이 없다.

 


 

위와 같은 행위를 logistic regression이라고 한다.

 

logit이란, $l=\log{odds}$이다.

 

$odds$는 승산 이라고 하는데, 쉽게 말해 $\frac{이길 확률}{질 확률}$이다.

 

이길 확률을 $q$라고 한다면 logit은 아래와 같이 수식으로 나타낼 수 있다.

  • $l=\log{\frac{q}{1-q}}$

위 수식을 잘 정리하면 sigmoid fuction이 나오는데,

따라서 sigmoid는 "logit을 가지고 확률을 구하는 식" 이라고 할 수 있다.

 

해당 logit을 linear regression 한게 logistic regression이다.

 

즉, 어떤 입력값이 linear activation fuction을 통과했고, 그 통과한 값에 log를 씌운다고 하자. 그리고 이걸 sigmoid에 통과시킨다. 그럼 결과는 logit이 나오게 된다. 우리는 이 logit을 linear regression으로 구했으니 우리는 logistic regression을 한 것이다.

 

(linear regression : 입력과 출력의 관계를 선형으로 놓고 추정하는 것)

 

 

728x90

'AI' 카테고리의 다른 글

딥러닝 학습의 본질 (MLE)  (0) 2024.09.05
MSE vs Likelihood (convex한 함수가 loss function으로 사용되는 이유)  (0) 2024.09.05
선형 분류 & 퍼셉트론  (2) 2024.09.04
Backpropagation  (0) 2024.09.03
MLP를 행렬과 벡터로 나타내기, Non-linear activation의 중요성  (2) 2024.09.02
    'AI' 카테고리의 다른 글
    • 딥러닝 학습의 본질 (MLE)
    • MSE vs Likelihood (convex한 함수가 loss function으로 사용되는 이유)
    • 선형 분류 & 퍼셉트론
    • Backpropagation
    pullwall
    pullwall

    티스토리툴바