Andrew Ng의 지도학습 머신러닝 1주차 강의 정리
코세라 강의 링크 : https://www.coursera.org/learn/machine-learning
지도 머신 러닝: 회귀 및 분류
머신 러닝 전문 과정의 첫 번째 과정에서는 다음과 같은 내용을 학습합니다. - 인기 있는 머신 러닝 라이브러리인 NumPy와 scikit-learn을 사용하여 Python으로 머신 러닝 모델 구축 - 선형 회귀 및 로지
www.coursera.org
00. Intro | 지도학습 vs 비지도 학습
1) 지도학습 (Supervised Learning)
✅ 정답(레이블)이 있는 데이터를 사용하여 인공지능 모델을 훈련시키는 머신러닝 방법
- 입력 x(feature)와 정답 y(label)가 함께 주어진 상태에서 입력 → 출력(x → y) 관계를 학습
- 학습 과정에서 알고리즘에 (입력 x, 정답 y) 쌍을 학습 (x¹, y¹), (x², y²), … , (xᵐ, yᵐ)
- 학습이 끝나면, 모델은 정답이 없는 새로운 입력 x가 들어와도
그에 대응하는 출력 y를 "예측"할 수 있게 됨
✅ 예시
- 이메일 x → 스팸/정상 y(스팸 필터)
- 집 크기 x → 집 가격 y (주택 가격 예측)
1-1) 지도학습의 2가지 유형
✅ 회귀(Regression)
- 연속적인 숫자를 예측
- 가능한 출력이 무한히 많음
- 예 : 집 가격, 매출, 온도
✅ 분류(Classification)
- 유한한 카테고리(클래스) 예측
- 정해진 클래스 중 하나를 예측
- 예 : 암 진단(0/1), 스팸/정상
2) 비지도학습 (Unsupervised Learning)
✅ 정답(레이블) y 없이 입력 데이터만으로
데이터의 구조, 패턴, 관계를 찾는 방식
✅ 예시
- 군집화(Clustering) : 비슷한 특징을 가진 데이터를 그룹으로 묶는 방식(k-means, 계층 군집)
- 차원 축소(Dimension Reduction) 데이터의 의미는 유지하면서 변수의 수를 줄여 시각화하거나 복잡도를 낮추는 기술 (PCA 등)
- 연관 규칙 학습(Association Rules) : 상품 구매 패턴 분석
✅ 활용사례
- 고객 세분화
- 이상 탐지
01. 선형 회귀모델 (Linear Regression Model)
입력과 출력 사이를 직선으로 모델링하는 가장 기본적인 회귀 알고리즘
데이터를 가장 잘 설명하는 최적의 직선을 찾아 수치형 데이터를 예측
✅ 주택 가격 예측 예시
- m : train 데이터에서 샘플의 수
- x들 : 입력값 / 특성(features)
- y들 : 출력값 / 타겟(labels)
- (x, y) : 하나의 train 샘플
- x의 지수 자리에 (i)로 표시된 것은 제곱을 나타내는 것이 아니라, i 번째 샘플의 x값이라는 뜻이다. (y도 마찬가지)

- x , feature, input : 집 크기
- y , target, output : 집 가격

✅ 모델 수식

- 가설 함수(hypothesis function)라고 부르는데 선형 회귀, 그중에서도 feature가 1개인 선형 모델에서 h는 위 수식과 같음.
- w(weight) 기울기
- b(bias) 절편
- f_{w,b}(x) 예측값(추정값)
02. 비용 함수 (Cost Function)
머신러닝 모델의 예측값과 실제 정답 사이의 차이를 수치화하여 모델의 성능을 평가하는 함수
모델 학습의 목표는 이 비용함수의 값을 최소화하는 최적의 매개변수(Parameter) w, b를 찾는 것
즉, 실제값과 가장 오차가 작은 가설함수를 도출하기 위해 사용되는 함수


x절편과 y절편인 값을 어떻게 정해주느냐에 따라 위와 같이 그래프 모양이 바뀜
✅ 비용함수 (Cost Function) 수식
- 최종적으로 비용함수의 목표는 비용 J를 최소화하는 모델의 매개변수(w,b)를 찾는 것임



03. 경사하강법 (Gradient Descent)
cost function을 최소화하는 방법, 기울기(Gradient)의 반대 방향으로 매개변수(가중치)를
반복적으로 조정하여 최적의 해를 찾는 최적화 알고리즘
비용 함수 J를 최소화하는 알고리즘인 Gradient descent는 선형 회귀뿐만 아니라 기계학습 전반에서 사용됨
✅ 업데이트 기본

- 경사하강법의 경우 w, b 라는 매개변수를 동시에 업데이트 해야 함
- 기울기(gradient)는 가장 빨리 올라가는 방향
- 최소화는 내려가야 하니 기울기 반대 방향으로 이동

✅ 비용함수 기울기

- 비용함수의 기울기가 양수일 경우 : 미분계수 값이 양수이므로 w은 작아지는 방향으로 업데이트
- 비용함수의 기울기가 음수일 경우 : α(학습률) 앞에 붙은 -와 상쇄되어 w가 커지는 방향으로 업데이트
04. 학습률 (learning rate)
학습률 α 은 w의 값을 변경할 때, 얼마나 크게 변경할지(한 번에 얼마나 이동할지)를 결정하며 0과 1사이의 값을 가짐
✅ 학습률이 너무 낮은 경우
: 너무 낮으면 수렴하는데 오래 걸리거나 원하지 않는 지역 최소점(local minimum)에 빠질 수 있음

✅ 학습률이 너무 높은 경우
: 학습 단계가 너무 커서 최적점을 지나치거나(Overshooting) 불안정해져 학습이 발산할 수 있음

05. 선형회귀 경사하강법 (Gradient Descent for Linear Regression)
✅ 선형회귀의 비용함수 MSE
- 선형회귀는 “직선을 긋는다”로 끝나는 게 아니라, 오차(error)를 수치화한 비용(cost)을 최소화하는게 목표
✅ 비용함수의 모양 (bowl)
(1) 3D Surface: 그릇 모양(Convex)
- 선형 회귀의 MSE 비용함수는 볼록함수이기 때문에 , 최소값이 하나(global minimum, 전역 최소)이고
- global minimum에 수렴할 때까지 매개변수 w,b를 반복적으로 업데이트 함.
- 따라서 경사하강법이 안정적으로 전역최소로 내려갈 수 있음
- 축: ww, bb
- 높이: J(w,b)J(w,b) (비용)
- “그릇처럼 오목하게 생김” → Convex(볼록) / 전역 최소 1개

(2) Contour(등고선): 3D를 위에서 내려다본 지도
- 같은 높이(같은 비용)인 점들을 이은 선이 등고선
- 가운데로 갈수록 비용이 작아짐
- 경사하강법은 이 등고선 “지도”에서 낮아지는 방향으로 한 걸음씩 이동하는 과정
선형회귀의 비용함수는 MSE를 사용하기 때문에w와 b에 대해 2차 함수 형태가 되고,
따라서 3D로 보면 그릇 모양, 위에서 보면 타원형 등고선이 됨
이 구조 덕분에 전역 최소가 하나이며,경사하강법이 안정적으로 최소점을 찾을 수 있음
✅ 선형회귀의 경사하강법 전개