2021.04.12 TIL
- 머신러닝 복습.
머신러닝 모형
로지스틱 회귀분석
로지스틱 회귀분석은 회귀분석과 분류 문제 동시에 사용할 수 있으며 종속변수가 정규분포를 따른다고 가정하는 기존 모델과 다르게 종속변수가 이항분포를 따른다고 가정한다.
y(종속변수)값이 특정한 범위내의 값(0부터 N까지의 실수값)을 가진다면 이항분포를 따르는 로지스틱 모형을 사용해야 한다. (N이 1이 되면 베르누이 분포와 같다. = 분류문제)
주로 시그모이드 함수를 변형하여 사용.
로지스틱 회귀모형의 영역경계면은 선형(판별함수를 wTx와 같은 선형함수를 사용하기 때문.)
w 값이 관건인데 최대가능도 방법으로 추정을하고 기준값을 이 가능도 함수를 최대화하는 것을 목적으로 정한다.
StatsModels를 사용할 경우
disp=0 인수의 경우, 선형회귀에서 fitting을 진행할때 (xTx)-1 와 같은 정확한 값을 사용했으나 로지스틱 회귀의 경우 ‘수치적 최적화’ 방법을 사용하기에 과정을 확인해야할 필요성이 있다. 단순한 경우 이처럼 disp=0을 사용하여 굳이 확인할 필요는 없지만 복잡한 식의 경우 확인하는 과정이 필요하다.
시험점수, 별점, 비율과 같이 범위가 정해져있는 것들을 예측하는데 도움이 된다. (ex 시험점수를 선형회귀분석으로 시행할때 -20, 110점과 같이 현실에서 나올 수 없는 점수들을 결과값으로 내놓는 경우가 있기 때문이다.)
QDA - LDA - 나이브베이즈
대표적인 확률론적 생성모형. y클래스 값에 따른 x의 분포에 대한 정보를 먼저 알아낸후 (가능도) 베이즈 정리를 이용하여 x에 대한 y의 확률분포를 찾아낸다.
사전확률 경우 : 학습용데이터로 파악 + 도메인 지식도 활용가능
p(y=k) ~~ y=k 인 데이터 수 / 모든 데이터 수
가능도를 어떻게 알아내느냐에 따라 QDA-LDA- 나이브베이즈 등 명칭이 달라진다.
가능도의 경우 :
P(x Ι y = k) 가 특정확률분포를 따른다고 가정한다.
k번째 클래스에 속하는 학습데이터 {x1 ….. xn}을 사용, 클래스당 모수값을 구한다. 모수를 알면 클래스당 확률밀도함수를 구할 수 있게됨.
QDA (이차판별 분석법)
독립변수 x가 실수이고 확률분포가 ‘다변수 정규분포’라 가정한다. 클래스마다 모수가 다름.
LDA (선형판별 분석법)
‘(공통된 공분산 행렬을 가지는) 다변수 정규분포’임을 가정한다.
판별함수가 x에 대한 선형방정식이 되고 경계선 모양이 직선이 된다.
Naive-baise (나이브베이즈 분류모형)
x(독립변수)의 종류가 많을때- 텍스트분석에서 많이 사용됨.
이차판별 분석에서 ‘조건부 독립’이란 조건이 추가 된 경우라 할 수 있다.
C라는 조건이 주어지면 A와 B는 독립이다. (평소에는 상관관계가 있음)
ex) C = 어미 돼지 몸무게 A, B = 자식 돼지 몸무게 / C라는 조건이 없다면 A와 B는 분명 상관관계가 있지만 같은 어미 아래 형제 몸무게를 비교한다면 서로 상관관계가 없다. 엄마가 100kg 자식의 몸무게 범위가 95-105라고 한다면 95-105사이의 몸무게에서는 무작위로 나오는 것이지 일정한 상관관계를 보이는 것은 아니라는 의미이다.
나이브 베이즈 가정에선 이런 조건부독립 가정을 사용하여 같은 y클래스라는 조건이 있다면 서로 독립임을 가정한다.
정규분포 가능도, 베르누이분포 가능도, 다항분포 가능도 세 가지를 많이 사용함.
공분산행렬을 구할필요가 없다. 서로 독립이기에 분산행렬의 대각 성분만 알면 된다.
x값이 실수일경우 정규분포, 0-1과 같이 이진일 경우 베르누이분포 정수값일 경우 다항분포를 사용한다.