33
Logistic Regression MinHyeok Kim NHN NEXT SW Maestro 5th

Logistic Regression

Embed Size (px)

Citation preview

Page 1: Logistic Regression

Logistic RegressionMinHyeok Kim

NHN NEXT SW Maestro 5th

Page 2: Logistic Regression

Logistic Regression입력변수 x에 대하여 출력변수 Y가 1이 될 확률 추정

• 장점 : 계산비용이 적고, 구현하기 쉬우며, 결과해석을 위한 지식 표현이 쉽다 • 단점 : 언더피팅(underfitting) 경향이 있어 정확도가 낮게 나올수도 있다.

Page 3: Logistic Regression

Logistic Regression?입력변수 x에 대하여 출력변수 Y가 1이 될 확률 추정

• 장점 : 계산비용이 적고, 구현하기 쉬우며, 결과해석을 위한 지식 표현이 쉽다 • 단점 : 언더피팅(underfitting) 경향이 있어 정확도가 낮게 나올수도 있다.

Page 4: Logistic Regression

• 데이터가 표시된 좌표평면을 가로지르는 최적선(best-fit line)을 구하는 것

• 회귀는 가장 알맞은 매개변수의 집합을 찾으려는 양상을 나타낸다

• 종속변수가 비선형일 경우 선형 모형을 적용하기 어렵다

• 비선형 -> Logistic Regression!

Regression Analysis

Page 5: Logistic Regression

• 연령, 자동차 소유 유무, 연간소득 등과 같은 특성이 개인신용분량 여부에 어떠한 영향을 미치는가?

• 유권자의 연령, 성별, 거주지역, 학력 등이 선호하는 후보선택에 어떠한 영향을 미치는가?

• 흡연 유무, 주량, 직업, 비만 정도, 키와 같은 특성이 특정한 질병발생에 어떠한 영향을 미치는가?

• 선택대상이 되는 상표들에 대한 평가와 응답자의 특성이 선호상표 선택에 어떠한 영향을 미치는가?

Page 6: Logistic Regression

Definition

Page 7: Logistic Regression

Logistic FunctionAn explanation of a Logistic Regression begins with

an explanation of the “Logistic Function”

Page 8: Logistic Regression

Logistic Regression!

== odds :일어날 확률 / 안 일어날 확률

Page 9: Logistic Regression

회귀계수에 따라 특정 집단에 속할 확률이 달라짐 이 계수의 해석으로 어떤 변수가 확률을 높이거나 낮추는 요인인지 알수있게함

If there are multiple explanatory variables, the above expression can be revised to

Multiple Logistic Regression!

Page 10: Logistic Regression

How it works?in “ML in Action”

Page 11: Logistic Regression

Optimization Algorithm• 가장 알맞은 매개변수를 찾기위해 최적화 알고리즘을 사용한다

• ML in Action에서는 GD, SGD를 이용

Page 12: Logistic Regression

Gradient Descent

• 기울기가 낮은(높은)쪽으로 계속 이동시켜서 극값에 이를때까지 반복

• 모든 차원과 모든 공간에서의 적용에서도 사용가능(무한까지도)

• 극값 이동에 대해 매우 많은 단계를 거쳐야하며, 함수의 곡률에 따라 거의 같은 위치에서 시작했음에도

불구하고 완전히 다른 결과로 이어질수도 있다

This Procedure is also known as gradient ascent

Page 13: Logistic Regression

Stochastic Gradient Descent

• 너무 많은 연산을 필요로하는 기존의 알고리즘(GD)을 보완

• 한번에 단 하나의 사례를 사용하여 가중치 계산

• Online Learning Algorithm, Not batch processing

Page 14: Logistic Regression

미분 가능 : 변수 x의 값의 변화량에 대한 함수 f(x)의 변화량 비가 한없이 일정한 값에 가까워지는것

Activation Function (Sigmoid function)

• 비선형적인 값들을 선형적으로 변환해준다 • 어떤 값이 시그모이드 함수를 거치면 미분 가능한 형태로 변환된다

Page 15: Logistic Regression

미분 가능 : 변수 x의 값의 변화량에 대한 함수 f(x)의 변화량 비가 한없이 일정한 값에 가까워지는것

Activation Function (Sigmoid function)

• 비선형적인 값들을 선형적으로 변환해준다 • 어떤 값이 시그모이드 함수를 거치면 미분 가능한 형태로 변환된다

Hmm.. It’s similar to…

Page 16: Logistic Regression

Let’s try using python!

Page 17: Logistic Regression

using numpy(http://www.numpy.org/)

Page 18: Logistic Regression

Case 1. Gradient Ascent

Page 19: Logistic Regression
Page 20: Logistic Regression

결과는 괜찮지만 데이터수가 많아진다면?

Page 21: Logistic Regression

Case 2. Stochastic Gradient Ascent

Page 22: Logistic Regression

Not Good… :(

Page 23: Logistic Regression

알고리즘 개선 1. 불규칙적인 alpha 값 2. 임의 사례 선택

Page 24: Logistic Regression

Real Case. Logistic Regression

Page 25: Logistic Regression

http://archive.ics.uci.edu/ml/datasets/Horse+Colic

데이터를 정제할 필요가 있다 :(

1. 알수없는 값 = 0으로 처리 weights = weights + alpha * error dataMatrix[randIndex] weights = weights (dataMatrix[i] = 0)

2. 분류 표시 누락 = 무시 대체하기 어렵다

Page 26: Logistic Regression
Page 27: Logistic Regression
Page 28: Logistic Regression

Another case

Page 29: Logistic Regression

Goal : to identify the various factors that may influence admission into graduate school

rank : prestige of an applicant’s undergraduate alma mater

Data : http://www.ats.ucla.edu/stat/data/binary.csv

Page 30: Logistic Regression

Rename because there is also the name of a method pandas DataFrame

Page 31: Logistic Regression

“get_dummies” helps how categorical variables are represented

to prevent multicollinearity or the dummy variable trap, “prestige_1” is our baseline and exclude it from our fit

Page 32: Logistic Regression

add manually the intercept as constant and do a logistic regression

Page 33: Logistic Regression

Thanks!