[Data Science] Lecture 9–3: Linear and Logistic Regression

naljin
6 min readJun 18, 2019

--

2019년 1학기 고려대학교 강재우 교수님 데이터 과학 정리

Classification Problems

Classification이란 input record에 라벨을 붙이는 것이다.

Regression for Classification

라벨링된 것들을 숫자로 바꾸는데 선형 회귀(linear regression)를 사용할 수 있다.

Class Labels from Regression Lines

Regression line이 class를 분리한다.

초록색 선 : if x≥ 0, y =1

빨간색 선 : if h(x)≥0.5, y = 1

Decision Boundaries

이상적으로 2개의 class는 feature space에 잘 분리되어 있고, 라인을 통해 이를 분리할 수 있다.

Logistic regression이 주어진 training set에서 최적의 best separate line을 찾는 방법이다. (aka. finding the decision boundary)

Logistic Regression Model

이때 h(x) 는 “probability of being positive/negative”로 해석될 수 있다.

해당 값이 0인 지점이 decision boundary 이고, 0 보다 크거나 같으면 y = 1, 0보다 작으면 y = 0으로 해석할 수 있다.

Decision Boundary

Non-linear Decision Boundaries

add high order terms

Cost for Positive / Negative Cases

우리는 최적의 probability를 위한 zero error와, 예측이 틀릴 수록 증가하는 cost를 원한다.

해당 식에서의 h(x)는 예측 값, y는 관측 값을 의미한다.

positive predict 가 1에 가깝다면 거의 zero error이고 cost는 적어진다(빨간색 선). 반대로 predict가 negative이면 파란색 선과 같이 나타난다.

Logistic regression cost function

위의 두가지 케이스를 하나의 식으로 합친 형태를 다음과 같다.

parameter θ 값을 fit하기 위해서는 :

주어진 새로운 x 값으로 예측을 하고자 한다면 :

Logistic Regression via Gradient Descent

여기서 loss function 은 convex이기 때문에 gradient descent를 이용해 best fit parameter을 찾을 수 있고, 따라서 두 클래스 사이의 최적의 linear separator 를 찾을 수 있다. (비선형 feature에서의 선형이 될 수도 있다)

Issues in Classification

  • Balanced Training Classes
  • Multi-class Classification
  • Hierarchical Classification

Balanced Training Classes

unbalanced 클래스 사이즈(i.e. 1 개의 positive example과 10000개의 negative example)에서 최적의 separating line을 생각해보자. Logistic regression의 best scoring line은 가운데 있기보다 사이즈가 큰 클러스터에서 매우 떨어져 있을 것이다. 따라서 같은 사이즈의 positive/negative example을 사용해야 한다.

Ways to Balance Classes

클래스의 밸런스를 맞추기 위한 방법은 다음과 같다.

  • minority class 멤버를 찾기 위해 노력한다
  • 큰 클래스에서 element 를 제거한다
  • minority class에 가중치를 더 부여한다.(minority에서 에러가 났을때 더 가중치를 둔다) 이때 overfitting을 조심한다.
  • random 한 변화(perturbation)와 함께 작은 클래스의 멤버를 복제한다(random sampling with replacement. 이때 replacement는 중복을 허용한다는 의미)

Multi-class Classification

분류는 이분법으로 되지 않을 수도 있다.

Encoding Multi-Classes : Bad Idea

blond = 0, brown = 1, red = 2 와 같이 다중 클래스를 각각 번호로 할당해 표현하는 것은 자연스럽다.

하지만 class들의 ordering이 규모의 증대에 영향을 주지 않는 이상 numbering은 의미가 없다. (4 stars — 3 stars — 2 stars — 1stars 와 같이 ordinal 한 것들이 의미 있음)

One Versus All Classifiers

대신 multi-class classifier는 다수의 독립적인 이분 classifier를 통해 만들 수 있다. 가장 가능성이 높은 클래스를 predicted label로 채택하면 된다.

create 3 distinct classification model

Hierarchical Classification

유사성으로 class를 그룹핑하고 분류를 만드는 것은 유효 클래스 수를 줄인다. tree에서 top-down 방식으로 classify 한 것이다. 하지만 더 좋은 성능을 낸 다는 것은 보장할 수 없다.

--

--

No responses yet