YouTube에 올라온 Andrew Ng 교수님의 Machine Learning 영상을 보고 두 번째 Lecture를 듣고 캡쳐 및 내용을 적은 포스트이다.
2.1 Model Representation
이 문제는 Lecture 1에서도 봤듯이 Supervised Learning의 한 예시이다. 각 데이터마다 정답이 주어지며, 이 예시는 Regression problem이라고 지난 영상에서 언급했다.
주어진 Dataset을 우리는 Trainingset이라고 부르고 Notation(표기법)을 아래와 같이 정의하자.
m = 47개, x는 Size in feet^2, y는 Price in 1000's를 의미하고 (x, y)는 하나의 training 사례이다.
즉 Training set of housing prices의 하나의 row는 하나의 training 사례이다.
이제 Supervised Learning이 어떻게 동작하는지 알아보자.
여기서 Training Set은 집값이고, Learning Algorithm에 전달된다.
Learning Alogorithm은 h 함수를 반환하는데, h는 hypothesis로 size of house를 input으로 줬을 때, estimated price를 output으로 반환하는 역할을 한다.
h는 "How do we present h?"에 적혀있는 수식대로 표현 가능하고, 이 함수의 경우 Linear 형태의 값을 예측한다. 이를 우리는 Linear regression with one variable 또는 Univariate linear regression이라고 한다. Univariate는 One variable을 의미한다.
2.2 Cost Function - Linear Regression
theta 0과 theta 1에 따라 h(x)가 달라진다. 위 3가지 h는 theta에 따른 값의 분포를 보여준다.
Linear Regression에서 Training Set과 직선이 얼마나 잘 일치하는지 보자.
예측한 값인 h(x)가 y와 가장 근접하게 예측한 theta 0과 theta 1을 선택해야 예측을 잘했다고 판단할 수 있다. 수식으로 표현하면 사진의 우측 수식과 같다. 수식의 1/2m은 미분 계산의 편의를 위해 추가한 것이다.
이를 좀더 명확하게 표현하면 아래와 같다.
J(theta0, theta1)을 우리는 Cost Function이라고 한다. 또는 Squared error cost function이라고도 불리는데, 이는 Linear Regression 문제에 합리적인 선택이다.
2.3 Cost Function - Gradient Descent
좀 더 일반적으로 사용할 수 있는 Gradient Descent를 사용하는 Cost Function을 알아보자.
α는 Learning Rate로, 값의 크기에 따라 찾아나가는 Step의 사이즈가 결정된다.
파란박스는 derivative이다.
Gradient Descent는 theta 0와 theta 1을 동시에 업데이트하면서 최소값을 찾아간다.
Local Minimum 상황에 대해서 알아보자,
Gradient Descent는 Learning Rate(α)가 고정되면서 Local Minimum에 빠질 수 있다.
아래처럼 Local Optima(기울기가 0)에 이르면 더 이상 업데이트되지 않음을 알 수 있다.
따라서 Gradient Descent는 자동으로 더 작은 Step을 선택하기 때문에, 시간이 흐름에 따라 Learning Rate(α)를 감소시켜줄 필요가 없다.
2.4 Gradient Descent For Linear Regression
Linear Regression에 Gradient Descent를 적용하는 알고리즘은 아래와 같다.
Linear Regression의 Cost Function은 아래와 같은 Bow-Shaped Function이라서 이를 Convex Function이라고도 부른다. 이 함수는 하나의 Global Optima를 제외한 어떤 Local Optima를 갖지 않는다.
앞서 배운 Gradient Descent를 Batch Gradient Descent라고도 한다. BatchGradient Descent의 모든 Step이 모든 Training Set을 사용한다는 의미이다. Batch가 포함되지 않은 또다른 Gradient Descent는 전체 Training Set을 보지 않기도 한다.
'Study > Machine Learning' 카테고리의 다른 글
Lecture 7) Regularization (0) | 2022.01.23 |
---|---|
Lecture 6) Logistic Regression (0) | 2022.01.23 |
Lecture 4) Linear Regression With Multiple Variables (0) | 2022.01.23 |
Lecture 3) Linear Algebra (0) | 2022.01.23 |
Lecture 1) Machine Learning 이란? (0) | 2022.01.20 |
댓글