1. Perceptron
- 우리는 앞서 Lecture 3에서 Logistic Regression에서 Sigmoid Function을 썼었다.
- 이 Sigmoid function은 전체 실수집합을 0과1사이로 압축시켜주는 역할을 한다.
- 즉, 일종의 Probability Function이라고도 할 수 있다.
- 우리는 이런 생각을 할 수 있다.
- 굳이 sigmoid로 나타내지말고, 그냥 0보다 작으면 0, 0보다 크면 1로 둬도 괜찮은거 아닌가?
- 이걸 그래프로 나타내면 다음과 같다.(이걸 Perceptron이라고 한다.)
- 이를 수식으로 나타내면 다음과 같다.
- 이를 마찬가지로 h()로 가설을 세우면 다음과 같을것이다.
- 따라서 update는 다음과 같이 이루어진다.
- 해당식에서 learning rate오른쪽에 있는 괄호쳐진 곳을 집중해보자.
- 만일 model이 정확히 예측했다면 해당 값은 0이 되고,
- 만약 model이 예측에 실패했다면 해당 값은 +1 or -1이 된다.
- 즉, 이 뜻 자체가 정확히 예측했다면 변화를 주지않고, 예측에 실패한 값에만 조정을 해준다는 의미가 된다.
- 밑의 영상에서 초록화살표가 업데이트 전 theta벡터가 되고, 빨간 화살표가 learning rate를 곱해준 예측실패한 x의 벡터가 된다.
- 하지만, 이러한 perceptron은 실무에서 쓰이는 경우가 드문데, 그 이유는 다음과 같은 간단한 예시도 제대로 분류를 못하기 때문이다.
- XOR
- 다층 퍼셉트론으론 구현이 가능하긴 하다.
2. The exponential family
- The exponential family는 다음과 같은 PDF을 만족하는 분포를 의미한다.
- b(y) : base measure
- y : data
- eta : natural parameter
- T(y) : sufficient statistic(여기선 y와 같은 값을 가진다고 생각해도 무관)
- a(eta) : log partition function
2.1. Bernoulli distribution
- 베르누이 분포를 다음과 같이 식정리를 해보자.
- 그러면 the exponential family에 속한다는 것을 알 수 있다.
- 여기서 eta에 집중해보자, eta를 phi에 대해서 정리하면 다음과 같은 형태가 나오게 된다.
phi = 1 / (1 + e^-eta) 마치 sigmoid function과 유사한 형태가 나오게 된다. (이는 나중에 더 자세히 알아보자.)
2.2. Gaussian distribution
- 이번엔 분산이 1인 정규분포를 생각해보자.(분산이 1인이유는 간단하게 보기 위함)
- 그러면 다음과 같이 the exponential family에 속한다는 것을 알 수 있다.
2.3. 왜 the exponential family에 대해 알아야 할까?
- the exponential family에 속하면 다음과 같은 특징이 있다.
- 가장 큰 특징은 이것이다.
- Exponential Family에 속하는 분포에대해 Maximam likelihood를 진행하게 되면, optimize problem을 concave하게 풀 수 있게된다.
3. GLM(Generilized Linear Model)
3.1. Assume & Design
- 다음 그림은 GLM을 시각화한 그림이다.
- GLM의 주요 구성 요소는 model과 the exponential family distribution으로 구성된다.
- model의 input은 x에 대한 linear model로 가정하며, 이 모델의 parameter는 theta다.
- 분포는 Exponentual Family에 속한다고 가정한다.
- Test Time
- 테스트 단계에선 분포의 기대값 E[y|eta]를 계산한다.
- 이는 선형 모델의 output의 기댓값과 같다. E[y|theta^Tx]
- 결과적으로 이러한 기댓값은 우리의 h(x)와 같아진다.
- Train Time
- 학습단계에선 기존에 했던것처럼 Gradient Descent나 Max Likelihood를 통해 Optimization한다.
3.2. Update Rules
- Exponential family에 속하는 분포라면 무조건 다음과 같은 Update Rules을 따른다.
- 만약 Batch Gradient Descent로 나타내고 싶으면 다음과 같이 표현이 가능하다. 단 alpha는 음수라고 가정.
4. Constucting GLMs
- 해당 섹션에선 Output이 Exponential family로 모델링될 수 있는 모델을 구성하는 방법에 대해 설명한다.
- 어떤 식당의 방문자 수를 추정하는 모델을 만든다고 생각했을때, Exponential Family에 속하는 Poisson 분포를 생각할 수 있다.
- 이를 기반으로 GLM을 생성하여 문제를 모델링할 수 있다.
- 더 일반적으로, 우리는 X의 함수로 y의 값을 예측하려는 분류, 회귀 문제를 고려한다고 생각하자.
- 이 문제를 위한 GLM을 도출하려면 다음 세가지를 가정한다.
"""
i) y | x; theta ~ Exponential Family(eta)
ii) eta = theta^T x
iii) h(x) = E[y|x;theta]
"""
- 이를 바탕으로 몇가지 예시를 보고 이해해보자.
4.1. Linear Regression
- Linear Regression이 GLM의 특수 사례임을 보기위해 y가 continue하다고 가정하자.
- 여기서 y | x;theta ~ N(mu,sigma^2)을 보인다고 가정하자.(가우시안 분포)
- y | x ~ N(mu,sigma^2)이라면
- E[y | x; theta] = mu이다.
- 여기서 우리는 가우시안 분포에서 mu = eta라는 것을 알 고 있다.
- 따라서 다음과 같은 식을 만족한다.
- 따라서, Linear regression이 유도됨을 알 수 있다.
4.2. Logistic Regression
- Logistic Regression은 binary classification에 사용되게 된다.
- 이때 Output은 {0,1|}즉 binary-valued를 가지고,
- y | x ~ Bernoulli(phi)를 가진다고 생각할 수 있다.
- 이때 E[y | x] = phi라는 것을 알 수 있다.
- 여기서, exponential family로 표현하게 되면 phi = 1/(1 + e^-eta)로 둘 수 있다.
- 따라서 이를 정리하면 다음과 같다.
- 즉, 이를 통해 Logistic Regression에서 sigmoid가 쓰이게 되는 이유를 알 수 있게 된다는 것이다.
5. Softmax Regression
- 이번에 우리는 Binary Classification 즉, 2개로 분류하는 것이 아니라,
- N개로 분류하려면 어떻게 해야할까?
- 즉, y 가 {1,2,3,...,k}중 하나를 가진다고 생각할 수 있다.
- 이때 y | x ~ Multinomial distribution 이라고 가정할 수 있다.
-이를 모델링하기 위해 Multinomial distribution이 exponential family에 속하는지 확인해보자.
- k개의 결과가 있는 Multinomial distribution을 매개변수화 하려면
- 각 결과의 확률을 나타내는 k개의 parameter {phi_1, phi_2,...phi_k}를 사용할 수 있다.
- 이때 이 parameter들은 dependent하다. 왜냐하면 다음과 같은 조건을 항상 만족하기 때문이다.
- 이때, 1개의 parameter만 일반 상수로 정의해보자. 즉, K-1개의 독립적인 parameter를 만들어보자.
- 그리고 나오게 되는 T(y) 즉, sufficient statistics을 다음과 같이 정의해보자.
- 이렇게 해당되는 부분만 1, 나머지를 0으로 채우는걸 one hot encoding이라고 한다.
- 이제 Exponential Family에 속하는지 식정리를 다음과 같이 해주면 알 수 있다.
- 여기서 eta에 집중해보자.
- eta의 각 스칼라는 다음과 같이 정리가능하다.
- 그후 양변에 exponential 취해주고, 식정리를 하면 다음과 같아진다.
- 따라서 phi_k는 다음과 같이 정리가 된다.
- 이 결과를 다음식에 대입해보자.
- 그러면 다음과 같은 softmax function이 유도된다.
- 따라서 다음과 같은 hypothesis를 얻을 수 있다.
- 여기서 해당 hypothesis를 log maximum likelihood을 구하면 다음과 같은 식을 얻는다.
- Predict와 Label된 data와의 차이를 줄이기 위해 cross entropy를 최소화하게 된다.(information theory를 참조)
'DS Study > CS 229(Machine Learning)' 카테고리의 다른 글
[CS 229] [6] Lecture 6 - Support Vector Machines (1) | 2025.01.20 |
---|---|
[CS229] [5] Lecture 5 - GDA & Naive Bayes (0) | 2025.01.17 |
[CS229][3] Lecture 3 - Locally Weighted & Logistic Regression (0) | 2025.01.12 |
[CS229] [2] Lecture 2 - Linear Regression and Gradient Descent (1) | 2025.01.07 |
[CS229] [1] Lecture 1 - Introduction (1) | 2025.01.04 |