혼자 공부하는 머신러닝+딥러닝 3주차

2024. 1. 20. 18:40머신러닝+딥러닝/혼공학습단 11기

728x90

혼공단 - 혼공머신, 혼자 공부하는 머신러닝+딥러닝

각 Chapter의 '학습목표'를 바탕으로 내용을 정리했습니다.

 

# 진도 기본 미션 선택 미션
3주차
(1/15 ~ 1/21)
Chapter 04 Ch.04(04-1) 2번 문제 풀고,
풀이 과정 설명하기
Ch.04(04-2) 과대적합/과소적합
손코딩 코랩 화면 캡처하기

 

01
시켜줘.. 우수 혼공족..  →  되었다?! 우수 혼공족!

 

※ 시켜줘.. 우수 혼공족.. 했더니, 되었다?! 우수 혼공족! 😄
  . 감사합니다. 덕분에 '아이스 와앙 슈(?)' 잘 먹었습니다. 사실 이름이 어렵고 품절이라 좀 더 보태서 핫도그로 바꿔 먹었습니다.
  . 족장님 아프지 마세요! (왜냐면 숙제검사하셔야 하니까. 롱담임)

 

 

□ Chapter 04

로지스틱 회귀, 확률적 경사 하강법과 같은 분류 알고리즘을 이해

 1. 로지스틱 회귀: 선형 방정식을 사용한 분류 알고리즘

   - 선형 회귀와 달리 시그모이드 함수나 소프트맥스 함수를 사용하여 클래스 확률 출력이 가능

    ① 시그모이드 함수: 선형 방정식의 출력을 0과 1사이의 값으로 압축하여 이진 분류를 위해 사용   

# 입력값 z가 커질수록 출력값이 1에 가까워지고, z가 작아질수록 출력값이 0에 가까워짐
∮ = 1 / (1 + exp(-z))

       ※ 이진 분류: 데이터를 두 개의 범주로 분류

     ② 소프트맥스 함수: 다중 분류에서 여러 선형 방정식의 출력 결과를 정규화하여 합이 1이 되도록 구성

       ※ 다중 분류: 타깃 클래스가 2개 이상인 분류 문제

    - 로지스틱 회귀의 학습 과정

      1) 입력 데이터와 정답 데이터를 준비

      2) 선형 방정식을 사용하여 출력값을 예측

      3) 시그모이드 함수를 사용하여 출력값을 확률로 변환

      4) 손실 함수를 사용하여 예측값과 정답값의 차이를 측정

      5) 경사 하강법을 사용하여 모델의 파라미터를 업데이트

  2. 확률적 경사 하강법: 훈련 세트에서 샘플 하나씩 꺼내 손실 함수의 경사를 따라 최적의 모델을 찾는 알고리즘

    - 미니배치 경사 하강법: 샘플을 하나씩 사용하지 않고 여러 개를 사용

    - 배치 경사 하강법: 한 번에 전체 샘플을 사용

      ※ 손실 함수: 확률적 경사 하강법이 최적화할 대상

        . 대부분의 문제에 잘 맞는 손실 함수는 이미 정의되어 있으며, 이진 분류에는 로지스틱 회귀 손실 함수를 사용

        . 다중 분류에는 크로스엔트로피 손실 함수를 사용하고, 회귀 문제에는 평균 제곱 오차 손실 함수를 사용
      ※ 에포크: 확률적 경사 하강법에서 전체 샘플을 모두 사용하는 한 번 반복을 의미

        . 일반적으로 경사 하강법 알고리즘은 수십에서 수백 번의 에포크를 반복

    - 확률적 경사 하강법의 모델 파라미터 업데이트 과정

      1) 데이터의 일부를 무작위로 선택

      2) 선택한 데이터를 사용하여 손실 함수를 계산

      3) 손실 함수의 기울기를 계산

      4) 파라미터를 기울기 방향으로 업데이트 ( 위 단계를 반복 )

 

이진 분류와 다중 분류의 차이를 이해하고, 클래스별 확률을 예측

  이진 분류: 데이터를 두 개의 범주로 분류하는 문제 ( 예: 이메일이 스펨인지 아닌지, 고객이 구매를 할지 말지 )

   . 로지스틱 회귀(시그모이드 함수) 사용 → 출력값(0~1로 변환) → 확률로 해석하여 클래스가 1이될 확률 예측

 ② 다중 분류: 데이터를 세 개 이상의 범주로 분류하는 문제 ( 예: 꽃의 품종을 분류, 음식의 종류를 분류 )

   . 로지스틱 회귀(소프트맥스 함수) 사용 → 출력값(0~1로 변환) → 확률로 해석하여 각 클래스의 확률 예측

 - 클래스별 확률 예측의 예

# 로지스틱 회귀에서 소프트맥스 함수를 사용하여 각 클래스의 확률을 예측
## 여기서, z_1, z_2, ...는 로지스틱 회귀 모델의 출력값
P(클래스 1) = 소프트맥스(z_1)
P(클래스 2) = 소프트맥스(z_2)

# 로지스틱 회귀 모델이 다음과 같은 출력값을 생성했다고 가정
z_1 = 0.7
z_2 = 0.3

# 이 경우, 클래스 1의 확률은 소프트맥스 함수를 사용하여 다음과 같이 계산
P(클래스 1) = 소프트맥스(0.7) = 0.7745966692414834

# 따라서, 이 입력에 대해 로지스틱 회귀 모델은 클래스 1에 속할 확률이 77.46%라고 예측

 

 

■ 기본 미션

Ch.04(04-1) 2번 문제 풀고, 풀이 과정 설명하기

 

 - 로지스틱 회귀가 이진 분류에서 확률을 출력하기 위해 사용하는 함수는 무엇인가요?  → 시그모이드 함수

  . 풀이: 로지스틱 회귀는 시그모이드 또는 소프트맥스 함수를 사용하는데, 이진 분류를 위해 사용한다는 부분이 문제의 단서로 정답은 시그모이드 함수
    시그모이드 함수: 선형 방정식의 출력을 0과 1사이의 값으로 압축하여 이진 분류를 위해 사용

 

 

■ 선택 미션

Ch.04(04-2) 과대적합/과소적합 손코딩 코랩 화면 캡처하기

 - 실습한 내용을 살펴보려면, 아래 링크를 통해 이동하세요.

https://colab.research.google.com/drive/1iJ9OIOUWlbLeyo1NN-CKzmK-He-kFw26?usp=sharing

 

적절한 반복 횟수 = epoch 100

 

728x90