카테고리 없음

[혼공머신]_3주차 다양한 분류 알고리즘

luvm._. 2024. 7. 21. 22:26


 

안녕하세요 ! 

오늘은 혼공머신 3주차 chapter 4로 돌아왔습니다 ! 

 

로지스틱 회귀 

로지스틱 회귀

  • 로지스틱 회귀는 이름은 회귀이지만, 분류 모델
  • 이 분류 알고리즘은 선형 회귀와 동일하게 선형 방정식을 학습
  • 𝑧 = 𝑎 ∗ (𝑊𝑒𝑖𝑔ℎ𝑡) + 𝑏 ∗ (𝐿𝑒𝑛𝑔𝑡ℎ) + 𝑐 ∗(𝐷𝑖𝑎𝑔𝑜𝑛𝑎𝑙) + 𝑑 ∗ (𝐻𝑒𝑖𝑔ℎ𝑡) + 𝑒 ∗ (𝑊𝑖𝑑𝑡ℎ) + 𝑓 
  • 확률 처리를 위한 0~1(또는 0~100%) 사이 값으로 만들기 위해 시그모이드 함수 (Sigmoid function) (또는 로지스틱 함수 logistic function)을 사용 ( 즉, 시그모이드 함수 : 선형 방정식의 출력을 0과 1 사이의 값으로 압축한다. ) 

시그모이드 함수와 시그모이드 그래프

더보기

 

𝑧 = 𝑎 ∗ (𝑊𝑒𝑖𝑔ℎ𝑡) + 𝑏 ∗ (𝐿𝑒𝑛𝑔𝑡ℎ) + 𝑐 ∗(𝐷𝑖𝑎𝑔𝑜𝑛𝑎𝑙) + 𝑑 ∗ (𝐻𝑒𝑖𝑔ℎ𝑡) + 𝑒 ∗ (𝑊𝑖𝑑𝑡ℎ) + 𝑓 

여기서 a, b, c, d, e는 가중치 혹은 계수다.

z는 어떤 값도 가능하나, 확률이 되려면 0~1(또는 0~100%) 사이 값이 되어야 한다.

z가 아주 큰 음수일 때는 0이 되고, z가 아주 큰 양수일 때 1이 되도록 바꾸는 방법을 찾자.

시그모이드 함수는 선형 방정식의 출력 z의 음수를 사용해 자연 상수 e를 거듭제곱하고 1을 더한 값의 역수를 취한다.

z가 무한하게 큰 음수일 경우 이 함수는 0에 가까워지고, z가 무한하게 큰 양수가 될 때는 1에 가까워진다. z가 0일 때는 0.5가 된다. z가 어떤 값이 되더라도 시그모이드 함수는 0과 1 사이의 범위를 벗어나지 않는다.

 

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

출처 : https://wikidocs.net/250622

 

점진적인 학습(온라인 학습)

확률적 경사 하강법 (Stochastic Gradient Descent, SGD)

대표적인 점진적 학습 알고리즘은 확률적 경사 하강법이다.

훈련 세트에서 랜덤하게 하나의 샘플을 선택하여 가파른 경사를 조금 내려간다.

그 후에  훈련세트에서 랜덤하게 또 다른 샘플을 하나 선택하여 경사를 조금 내려간다.

만약 샘플을 다 사용했는데, 산을 다 내려오지 못했다면 처음부터 다시 시작해간다

그리고, 훈련 세트에 모든 샘플을 다시 채워 넣는다.

그다음 다시 랜덤하게 하나의 샘플을 선택해 이어서 경사를 내려간다.

에포크 ( epoch )

확률적 경사 하강법에서 훈련 세트를 한 번 모두 사용하는 과정을 에포크라고 부른다.

일반적으로 경사 하강법은 수십, 수백 번 이상 에포크를 수행한다.

미니 배치 경사 하강법 ( minibatch gradient descent )

1개씩 말고 무작위로 몇 개의 샘플을 선택해서 경사를 따라 내려가는 것을 미니배치 경사 하강법이라고 한다.

배치 경사 하강법 ( batch gradient descent )

극단적으로 한 번 경사로를 따라 이동하기 위해 전체 샘플을 사용할 수도 있다. 이를 배치 경사 하강법이라고 한다.

→ 하지만 전체 데이터를 사용하면 그만큼 컴퓨터 자원을 사용해야 한다.

손실함수 ( loss function (비용 함수cost function))

손실함수는 어떤 문제에서 머신러닝 알고리즘이 얼마나 엉터리인지 측정하는 기준이다.

손실 함수의 값이 작을수록 좋다. 하지만, 어떤 값이 최솟값인지는 알지 못한다.

가능한 많이 찾아보고 만족할만한 수준이라면 산을 다 내려왔다고 인정해야 한다.

 

  • 이진 분류: 로지스틱 회귀 (또는 이진 크로스엔트로피) 손실 함수 
  • 다중 분류: 크로스엔트로피 손실 함수
  • 회귀 문제: 평균 제곱 오차 손실 함수
  • 에포크와 과대/과소 적합
    • early stopping : 과대 적합이 시작되기 전에 훈련을 멈추는 것
    • SGDClassifier의 손실함수 : 힌지손실 (주로 서포트 벡터머신 알고리즘에서 사용하는 손실함수)  

 

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

 

문제 2. 로지스틱 회귀가 이진 분류에서 확률을 출력하기 위해 사용하는 함수는 무엇인가요?
1. 시그모이드 함수
2. 소프트맥스 함수
3. 로그 함수
4. 지수 함수

 

답 : 로지스틱 회귀가 이진 분류에서 확률을 출력하기 위해 사용하는 함수는 시그모이드 함수입니다. 

 

 

 

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