2. Linear Regression with one variable
목차
1. 선형회귀란?
2. 모델설계
3. 비용 함수
4. 경사 하강법
1. 선형회귀란?

회귀(Regression)
- 연속적인 종속 변수(y)와 한 개 이상의 독립 변수(x) 사이의 관계를 추정하는 통계적인 과정
- 종속 변수 : y, 결과 변수
- 독립 변수: x, (입력) 특성
- 관계: 모델(model), 가설(hypothesis)
회귀의 종류
- 특성의 개수에 따라
- 단항 선형 회귀: 특성 개수 한 개
- 다항 선형 회귀: 특성 개수 두 개 이상
- 정규화 방법에 따라
- 릿지 회귀
- 라쏘 회귀
- 엘라스틱넷
선형 회귀(Linear Regression)
- 특성의 가중치 합과 편향(bias) 상수를 더해 결과 변수를 예측하는 과정
- 단항 ˆy=hθ(x)=θ0+θ1x^y=hθ(x)=θ0+θ1x
- 다항
- hθ(x)=θ0+θ1x+θ2x2hθ(x)=θ0+θ1x+θ2x2
- hθ(x)=θ0+θ1x+θ2x21hθ(x)=θ0+θ1x+θ2x21
- hθ(x)=θ0+θ1x+θ2x2+θ3x3+...hθ(x)=θ0+θ1x+θ2x2+θ3x3+...
- 활용 예
- 키와 체중의 관계 분석하기
- 몸무게, 나이, 키로 기대 수명 예측하기
- 집 면적과 집 값의 관계 분석하기
- 현재 시상 상태와 추가 정보로 미래 주식 예측하기
- 유튜브에서 특정 비디오를 보는 사용자의나이 예측하기
2. 모델설계
모델 설계(Model Representation)
-
여기서 h는 단항 선형 회귀 모델 - h 표현 방식 : hθ(x)=θ0+θ1xhθ(x)=θ0+θ1x, 줄여서 h(x)h(x)
- 여기서 θθ는 h를 결정하는 parameter
예시 : A 지역 근처 아파트 & 오피스텔 매매가격(57건)

- m = 훈련 예제 개수, x = 입력 변수/특성, y = 출력 변수/타겟 변수, n = 특성 개수
- 모델 h
3. 비용함수
비용함수(Cost Function)란?
- 모델이 틀린 만큼 비용(패널티)를 준다는 의미로 비용함수라고 부름
- 모델이 실제 데이터와 차이를 부정적인 의미인 손실로 간주하여 손실 함수(Loss Function)라고도 함
- 주어진 데이터에 대해, 예측된 값(ˆy^y)과 실제 값(y) 사이의 에러를 하나의 실수값으로 수치화한 함수
- 예) 비용함수 계산
아이디어
학습 예제 (x,y)의 y와 hθ(x)hθ(x)가 잘 맞도록 θ0,θ1θ0,θ1을 선택하자 (hθ(x)hθ(x)는 ˆy^y라고도 함)

비용함수 식
- 가설(Hypothersis) : hθ(x)=θ0+θ1xhθ(x)=θ0+θ1x
- 비용함수(Cost Function): J(θ0,θ1)J(θ0,θ1)
- 비용함수를 평균 제곱 오차(Mean Squared Error Function, MSE)으로 정의
-
- 목표: argminθ0,θ1J(θ0,θ1)argminθ0,θ1J(θ0,θ1)
- 즉, 비용함수를 최소화하는 θ0,θ1θ0,θ1를 찾는 것
단순화: θ1θ1만 이용하는 예
-
- θ1=1θ1=1일 때 J(θ1)J(θ1)?
- θ1=0.5θ1=0.5일 때 J(θ1)J(θ1)?
즉, 모델이 데이터에 덜 맞을수록(fit)할 수록 비용함수는 커지는 것을 알 수 있음

- θ0,θ1θ0,θ1를 모두 이용하는 예
h(x) = 2 + 0.2x일 때, 비용함수 J h(x) = 9 - 0.05x일 때, 비용함수 J h(x) = 6 + 0x일 때, 비용함수 J h(x) = 0.51 + 0.16x일 때, 비용함수 J
4. 경사 하강법
경사하강법(Gradient descent)이란?
- 미분 가능한 함수의 (지역)최소값을 찾기 위해 반복적으로 미분을 이용하는 최적화 알고리즘
- 함수 J(θ0,θ1)J(θ0,θ1)가 있을 때, 이를 최소화(minimize)하는 것이 목표
- 방법
- 임의의 θ0,θ1θ0,θ1 부터 시작
- θ0,θ1θ0,θ1를 바꿔가며 J(θ0,θ1)J(θ0,θ1)를 희망하는 최소값에 도달할 때까지 줄임
경사하강법 알고리즘
- 아래의 식을 수렴할 때까지 반복
- θj=θj−α∂∂θjJ(θ0,θ1)θj=θj−α∂∂θjJ(θ0,θ1), (for j=0 and j=1)
- αα : 학습률(Learning rate)
- ∂∂θjJ(θ0,θ1)∂∂θjJ(θ0,θ1) : 변화율 -> 미분(derivative)
- 주의할점: 업데이트 되는 변수 θ0,θ1θ0,θ1는 동시에 업데이트되어야 함
- Incorrect : 두 변수를 따로 업데이트 하는 경우
- θ0=θ0−α∂∂θ0J(θ0,θ1)θ0=θ0−α∂∂θ0J(θ0,θ1)
- θ1=θ1−α∂∂θ1J(θ0,θ1)θ1=θ1−α∂∂θ1J(θ0,θ1)
- Correct : 동시에 업데이트
- (θ0θ1)=(θ0θ1)−α(α∂∂θ0J(θ0,θ1)α∂∂θ1J(θ0,θ1))
- Incorrect : 두 변수를 따로 업데이트 하는 경우
j=1일때, 편미분 결과
-
- 예:) α=1일 때
- 예:) α=0.75일 때
경사하강법 특징
- 양의 경사인 경우, θ1 이 음의 방향으로 이동
- 음의 경사인 경우, θ1 이 양의 방향으로 이동
α의 크기가 경사하강법에 미치는 영향
alpha가 너무 큰 경우(좌), alpha가 너무 작은 경우(우) - α가 너무 큰 경우, 최소값을 지나칠 수 있음. 즉 수렴에 실패하게 되고 발산하기도 함
- α가 너무 작은 경우, 경사하강법이 느려질 수 있음
α를 고정하더라도, 경사 하강법은 극소에 수렴할 수 있음

- 기울기가 작아지는 방향으로 학습하므로 α를 조정하지 않아도 극소에 수렴 가능
- 즉, 극소에 수렴할 때 경사하강법은 자동으로 조금씩 이동하게 됨
- 따라서 반복 시, 후반부에 따로 $\alpha를 줄일 필요 없음
지역적 최소값(local minimum), 즉 극소에 위치하면 경사(기울기)가 0이되므로 더 이상 움직이지 않음
- θ1=θ1−α∂∂θ1J(θ0,θ1)
- 지역적 최소값에서 기울기 즉, ∂∂θ1J(θ1)=0임
- 따라서 θ1=θ1−α∗0=θ1
경사 하강법 알고리즘 vs. 선형회귀 모델
- 경사 하강법 알고리즘: 수렴할 때까지 θj=θj−α∂∂θjJ(θ0,θ1), (for j=0 and j=1) 반복
- 선형회귀모델
- hθ(x)=θ0+θ1x
- J(θ)=12m∑mi=1(hθ(xi)−yi)2
선형회귀식을 적용한 경사 하강법 알고리즘

볼록 함수(Convex function)
-
- Convex 공간
- 어떤 공간의 아무 두 점을 이은 선분이 모두 그 공간에 포함되어 있어야 함
- Convex function의 성질
- 초기점(Initial point)를 아무 점으로 설정해도 지역 최소값(local minimum)이 오직 1
- 이차 미분을 사용하여 convex function인지 아닌지 확인
- convex 함수인 경우, 지역 최소값이 한 개이므로, 경사 하강법의 비용함수로 좋음
경사하강법의 종류
- 배치 경사 하강법(batch gradient descent): 파라미터를 1회 업데이트 시킬 때 전체 학습 예제들을 사용
- 확률적 경사 하강법(stochastic gradient descent(SGD): 1회 업데이트 시, 무작위로 딱 한 개의 학습 예제 사용
- 미니배치 경사 하강법(mini-batch gradient descent): 1회 업데이트 시, 미니배치라 부르는 임의의 작은 학습 예제 샘플 사용
경사하강법에 더 자세한 내용을 알고싶다면 아래 게시글을 참고해주세요
https://codingsmu.tistory.com/86?category=987803
[DL] 경사하강법과 손실함수
선형 회귀(Linear Regression) 선형 회귀는 머신러닝 알고리즘 중 가장 간단하면서도 딥러닝의 기초가 되는 개념이다 1차 함수로 이해하는 선형 회귀 y=ax+b : 선형 회귀는 1차 함수로 표현 가능하다.
codingsmu.tistory.com
'인공지능(AI) > 머신러닝(ML)' 카테고리의 다른 글
[핸즈온 머신러닝] 6장. 서포트 벡터 머신 (0) | 2021.12.05 |
---|---|
[핸즈온 머신러닝] 4장. 로지스틱 회귀(분류) (0) | 2021.12.03 |
[핸즈온 머신러닝] 3장. 다항 선형 회귀 (0) | 2021.12.01 |
[핸즈온 머신러닝] 1장. 머신러닝 소개 (0) | 2021.11.16 |
경사하강법과 손실함수 (0) | 2021.05.21 |