[Coursera/IBM course #5] Softmax

2025. 7. 13. 20:20·🥇 certification logbook
728x90
반응형

 

 

 

 

 

[IBM course #5] Deep Learning with PyTorch

 

Softmax

Softmax 함수는 여러 개의 클래스 중 하나를 선택해야 하는 분류 문제에서 자주 사용되는 함수

각 클래스에 대해 계산된 값을 확률처럼 변환해주며, 이 확률은 모든 클래스에 대해 0~1 사이의 값으로 나타나며, 총합은 1이되게 된다.

 

1D 예시

클래스 3개(파랑/빨강/초록)로 구분

각 클래스마다 선형 함수(z0, z1, z2)를 적용한 후 argmax로 예측

 

- argmax 함수: 가장 큰 값을 갖는 인덱스를 반환

예를 들어, z = [1.2, 3.5, 0.8]의 argmax(z)는 1 (가장 큰 값 3.5의 인덱스)

 

2D 예시 + MNIST

MNIST 이미지 (28x28)는 784차원의 벡터로 변환됨

각 클래스(0~9)는 하나의 고정된 weight 벡터로 표현됨 (예: w0, w1, ..., w9)

 

분류방법

1.입력 벡터 x와 각 클래스 벡터 w의 내적(dot product) 계산

2.가장 큰 값을 갖는 클래스 선택 → argmax

3.Softmax는 이 값을 확률 분포로 변환해주는 역할

 

PyTorch에서 Softmax 사용 방법

PyTorch에서 Softmax는 nn.Module을 상속해 커스텀 클래스로 구현 가능

또한, PyTorch에서는 하나의 배치(batch)에 여러 이미지를 넣어 효율적으로 학습이 가능하다

 

LogisticRegression와의 차이점

  • LogisticRegression: 출력 1개
  • Softmax: 출력 클래스 수만큼 (out_features)

 

torch.max() 사용법

torch.max(z, dim=1) → 행별로 가장 큰 값의 인덱스 반환 (이 인덱스가 예측된 클래스가 된다.)

 

MNIST 실습

1. 데이터 준비

MNIST 데이터를 불러와 tensor 형태로 변환

각 샘플은 (28x28 이미지, 정답 레이블) 쌍으로 구성

2. 모델 정의

입력 차원: 784 (28x28)

출력 차원: 10 (0~9 숫자)

Softmax는 10개의 weight & bias 벡터를 가짐 (784차원)

3. 손실 함수

nn.CrossEntropyLoss() 사용 → 내부적으로 Softmax + log loss 자동 포함

정답 레이블은 1D long tensor여야 함

4. 학습 & 검증

각 epoch마다:

훈련 → 예측 → argmax → 예측 결과와 실제 비교 → 정확도 계산

728x90
반응형

'🥇 certification logbook' 카테고리의 다른 글

[Coursera/IBM course #7] 생성형 AI (Generative AI)  (5) 2025.07.23
[Coursera/IBM course #6] Capstone Project 메모  (3) 2025.07.20
[Coursera/IBM course #5] Convolution 연산 기본 개념  (4) 2025.07.19
[Coursera/IBM course #5] 신경망 (Neural Net)  (1) 2025.07.16
[Coursera/IBM course #4] Linear Regression Prediction  (0) 2025.06.14
[Coursera/IBM course #4] Dataset  (0) 2025.06.07
[Coursera/IBM course #4] Tensors  (2) 2025.06.07
[Coursera/IBM course #3] 강화학습(Reinforcement Learning)  (2) 2025.06.04
'🥇 certification logbook' 카테고리의 다른 글
  • [Coursera/IBM course #5] Convolution 연산 기본 개념
  • [Coursera/IBM course #5] 신경망 (Neural Net)
  • [Coursera/IBM course #4] Linear Regression Prediction
  • [Coursera/IBM course #4] Dataset
이소야
이소야
✔ 공부 기록 ٩(๑•̀o•́๑)و
  • 이소야
    I study SO
    이소야
    ✔ 공부 기록 ٩(๑•̀o•́๑)و
  • 전체
    오늘
    어제
    • 분류 전체보기 (223)
      • 🤖 ai logbook (39)
      • 💻 developers logbook (1)
      • 🥇 certification logbook (73)
      • ⚖️ legal logbook (108)
      • ⚡ electronics logbook (1)
      • 🌍 english logbook (0)
      • 🎁 etc (1)
  • 최근 글

  • 인기 글

  • 태그

    Coursera
    IBM
    deeplearning
    머신러닝
    인공지능
    ADsP
    근로기준법
    인공지능 입문
    형법
    datascience
    자격증
    온라인 강의 추천
    Python
    데이터사이언스 입문
    방통대
    민법
    법학과
    기본권의기초이론
    certificate
    데이터분석준전문가
  • hELLO· Designed By정상우.v4.10.3
이소야
[Coursera/IBM course #5] Softmax
상단으로

티스토리툴바