♠논리회귀 ((logistic regression)
♠논리함수 (logistic / sigmoid function)
※이진 논리회귀
ㄴ 선형회귀로 그려내기 어려운 그래프(ex. 학습 시간대비 패논패 시험)를 S곡선으로 그려냄
ㄴ f(n) = 1/(1+e⁻ⁿ) (x=n / 제곱수 기호에 x가 없어서 n으로 대체)
ㄴ 출력값이 0~1 사이
ㄴ x ▶ 선형회귀 ▶ 시그모이드 ▶ H(x)
ㄴ 선형회귀에서 확률분포의 차이를 줄여주도록 하는 CrossEntropy(논리회귀 손실함수)
※다항 논리회귀
ㄴ여러가지 항으로 분류를 해우저야 하기 때문에 '원핫 인코딩'방법을 사용
One-hot encord
ㄴ클래스 라벨의 갯수만큼 배열을 0으로 채우기
ex) 라벨이 3개라면, [1,0,0], [0,1,0], [0,0,1]
Softmax 함수
ㄴ 결과값이 확률이다보니, 기존 이진 논리회귀에서 0,1로만(패스/논패스) 나오던
결과값을 여러항에 적용할 수 없음(확률은 모두 합해서 100%니까 초과할 수 없음)
그래서 다항의 결과의 총 합이 1이 되도록 함
X ▶ 로직 ▶ S•M ▶ 1hot
□ (2.0) (0.7) (1.0)
□ (1.0) (0.2) (0.0)
□ (0.1) (0.1) (0.0)
$$ KERAS 에서는 다항논리회귀에서 'categorical_crossentropy' 손실 함수를 사용
다양한 머신러닝의 모델들
현실에서는 A그룹과 B그룹을 딱 나눌 수 있도록 하는 게 쉽지 않음
B에 가까운 A나 규격 외가 발생하는 경우, 특징(feature)를 추가하여 3차원으로 만듬
전처리(Preprocessing)
ㄴ 돌연변이, 특이사항, 규격 외 값들이 데이터 셋에 남아있는 경우들이 있어, 이를 사전에 정제해주는 과정
ㄴ 이 외에도, 특성마다 단위나 값의 범위 차이가 커서 비교가 어려울 때, 차이를 '표준화'해주는 과정
(보편적으로 0~1사이 값을 갖도록 '정규화')
정규화(Normalization)
단위나 값을 조정해서 전체 값이 0~1사이로 만들어 주는 것
표준화(Standardization)
데이터 평균을 0이 되도록 하고, 표준편차가 1이 되도록 하는 과정
기타)
Q. 데이터 수가 적어서 학습, 검증, 테스트시 사용했던 데이터를 그대로 사용해서
진행하는 것은 안되는지?
A. 시험 볼 때 답지를 주고 풀게 하는 것과 동일하다. 부정행위로 간주하고 데이터 값의 정확도가 떨어진다.