인공지능 11강 - 머신러닝(2)
연속적인 값을 예측하는 선형회귀와 범주를 구분하는 로지스틱 회귀의 가설·비용함수·학습 과정을 살펴본다. 이어서 소프트맥스를 이용한 다항 분류와 레이블 없이 비슷한 표본을 묶는 k-평균 군집화의 원리를 학습한다.
회귀분석과 선형회귀의 개념
회귀분석(regression analysis)은 독립변수와 종속변수 사이의 관계를 추정하는 기법이다. 독립변수는 예측에 사용하는 입력이고, 종속변수는 독립변수에 따라 달라지는 출력이다. 예를 들어 공부한 시간을 입력 x, 시험 성적을 출력 y로 두면 공부한 시간으로 성적과 같은 연속적인 값을 예측할 수 있다.
선형회귀(linear regression)는 독립변수와 종속변수 사이의 관계를 선형함수로 모델링한다. 독립변수가 하나인 단순 선형회귀의 가설은 HL(x)=w0+w1x이다. w0는 직선의 절편, w1은 입력 x가 한 단위 변할 때 예측값이 얼마나 변하는지를 나타내는 기울기다.
d개의 독립변수 x1, x2, …, xd를 사용할 때는 HL(x1,…,xd)=w0+w1x1+…+wdxd로 나타낸다. 상수항을 위한 첫 성분 1을 포함한 벡터 x와 가중치 벡터 w를 사용하면 HL(x)=wTx로 간결하게 쓸 수 있다.
| 구분 | 독립변수 수 | 가설의 형태 |
|---|---|---|
| 단순 선형회귀 | d=1 | HL(x)=w0+w1x |
| 다중 선형회귀 | d≥2 | HL(x)=w0+Σwjxj=wTx |
시험 핵심: 단순 선형회귀와 다중 선형회귀의 구분 기준은 출력변수의 수가 아니라 독립변수의 수다.
선형가설과 평균제곱오차
학습표본을 (x(i), y(i))라고 하면 선형가설의 예측값 HL(x(i))과 실제값 y(i)의 차이가 오차다. 선형회귀의 학습 목표는 표본 전체의 오차가 작아지도록 가중치 w를 찾는 것이다.
강의에서는 비용함수로 평균제곱오차(mean squared error, MSE)를 사용한다. 표본 수가 m일 때 단순 선형회귀의 비용함수는 CMSE(w0,w1)=(1/m)Σi=1m{HL(x(i))−y(i)}2이다. 오차를 제곱하므로 양수와 음수 오차가 서로 상쇄되지 않으며, 큰 오차에 더 큰 비용을 부여한다.
따라서 학습은 (ŵ0,ŵ1)=argmin C(w0,w1)을 구하는 최적화 문제다. 비용이 최소가 되는 점의 가중치를 찾으면 표본의 경향을 가장 잘 나타내는 직선을 얻는다.
MSE는 예측 오차를 평가하는 비용함수이고, 선형가설은 입력에서 예측값을 만드는 모형이다. 가설과 비용함수의 역할을 혼동하지 않아야 한다.
경사하강법에 의한 선형가설의 학습
경사하강법(gradient descent method)은 가중치를 임의의 값으로 초기화한 뒤 비용함수 기울기의 음의 방향으로 조금씩 이동하는 과정을 반복해 비용을 줄이는 방법이다. 기울기 벡터 ∇C는 비용이 가장 빠르게 증가하는 방향을 가리키므로, −∇C 방향으로 이동하면 비용이 감소한다.
단순 선형회귀에서 각 편미분은 다음과 같다.
- ∂CMSE/∂w0=(2/m)Σ{w0+w1x(i)−y(i)}
- ∂CMSE/∂w1=(2/m)Σ{w0+w1x(i)−y(i)}x(i)
학습률을 η라고 하면 k번째 반복 뒤의 가중치는 w0(k+1)=w0(k)−η∂C/∂w0, w1(k+1)=w1(k)−η∂C/∂w1로 갱신한다. 학습률은 한 번의 갱신에서 이동할 크기를 정한다.
강의의 표본 (1,2), (2,3), (3,4)에 대해 초기값 w0=0.3, w1=0.5에서 시작하면 반복할수록 비용이 3.0567, 2.4209, 1.9183처럼 감소한다. 3,000회 반복 후에는 w0≈0.9997, w1≈1.0001이 되어 HL(x)=0.9997+1.0001x를 얻고, 표본의 관계 y=x+1에 가까워진다.
시험 핵심: 갱신식에서 기울기를 더하는 것이 아니라 빼야 비용이 감소한다. η는 학습률, k는 반복 횟수를 나타낸다.
다중 선형회귀의 벡터 표현
다중 선형회귀(multiple linear regression)는 독립변수가 두 개 이상인 선형회귀다. 가설은 HL(x)=wTx이고, 비용함수는 CMSE(w)=(1/m)Σ{HL(x(i))−y(i)}2이다.
벡터 형태의 경사하강 갱신식은 w(k+1)=w(k)−η∇CMSE(w(k))이다. 강의에서 제시한 기울기는 ∇CMSE(w(k))=(2/m)Σ{HL(x(i))−y(i)}x(i)다. 각 표본의 오차에 입력벡터를 곱해 합한 값이 모든 가중치의 조정 방향을 동시에 나타낸다.
단순 선형회귀의 두 갱신식을 벡터 하나로 확장한 것이므로 학습 원리는 같다. 차이는 독립변수의 수만큼 가중치 성분이 늘어난다는 점이다.
로지스틱 회귀의 개념과 가설
로지스틱 회귀(logistic regression)는 독립변수의 값에 대해 종속변수가 0 또는 1이 될 수 있는 가설을 구하는 방법이다. 이름에는 회귀가 들어가지만, 강의에서는 두 유형을 구분하는 이진 분류에 사용한다.
선형함수 HL(x)=wTx는 범위 제한이 없으므로 그대로는 확률로 해석하기 어렵다. 로지스틱 회귀는 선형함수의 출력을 로짓(logit) z로 삼아 로지스틱 함수 S(z)=1/(1+e−z)에 넣는다. 이 함수는 어떤 실수 입력도 0과 1 사이의 값으로 변환한다.
따라서 로지스틱 회귀의 가설은 HS(x)=S(HL(x))=1/{1+e−HL(x)}=1/{1+e−wTx}다. 출력은 y=1일 확률로 해석할 수 있으며, HL(x)=0이면 HS(x)=0.5가 된다.
| 구분 | 출력 | 주요 용도 |
|---|---|---|
| 선형회귀 | 범위가 제한되지 않은 연속값 | 연속적인 수치 예측 |
| 로지스틱 회귀 | 0과 1 사이의 확률 | 두 클래스의 분류 |
교차 엔트로피와 이진 분류
이진 로지스틱 회귀의 비용함수는 이진 교차 엔트로피(binary cross entropy)다. CCE(w)=(1/m)Σ[−y(i)ln HS(x(i))−{1−y(i)}ln{1−HS(x(i))}]로 계산한다. 실제 클래스에 높은 확률을 주면 비용이 작아지고, 실제 클래스에 낮은 확률을 주면 비용이 커진다.
기울기는 ∇CCE(w)=(1/m)Σ{HS(x(i))−y(i)}x(i)이며, 가중치는 w(k+1)=w(k)−η∇CCE(w(k))로 갱신한다. 선형회귀와 마찬가지로 비용을 줄이는 방향으로 학습하지만 비용함수가 다르다.
확률 0.5를 분류 기준으로 사용하면 이에 대응하는 선형함수의 결정경계는 HL(x)=wTx=0이다. HL(x)가 0보다 작으면 HS(x)<0.5이므로 y=0, 0보다 크면 HS(x)>0.5이므로 y=1로 분류한다.
강의 예에서는 두 특징 x1, x2에 대한 학습 결과가 wT=[−5.35, 1.41, 1.42]가 되어 결정경계 −5.35+1.41x1+1.42x2=0을 형성한다. 학습이 반복되면서 가중치가 바뀌고 두 클래스 사이의 선형 경계가 자리 잡는다.
시험 핵심: 로지스틱 회귀는 선형함수를 로짓으로 사용하지만 최종 출력은 로지스틱 함수를 통과한 확률이다. 확률 기준 0.5는 로짓 기준 0과 대응한다.
다항 로지스틱 회귀와 소프트맥스
식별할 클래스가 세 개 이상이면 다항 로지스틱 회귀(multinomial logistic regression)를 사용한다. N개의 클래스마다 선형함수 HL1(x), …, HLN(x)를 만들고, 이 출력들에 소프트맥스(softmax) 함수를 적용한다.
클래스 i의 예측확률은 ŷi=eHLi(x)/Σj=1NeHLj(x)이다. 각 확률은 0과 1 사이이고 전체 클래스의 확률 합은 1이다. 최종 출력은 가장 큰 확률을 갖는 클래스, 즉 argmaxi ŷi로 선택한다.
목표 클래스는 원-핫 벡터로 표시할 수 있다. 예를 들어 세 클래스에서 첫 번째 클래스는 (1,0,0), 두 번째는 (0,1,0), 세 번째는 (0,0,1)로 나타낸다. 다항 교차 엔트로피 비용함수는 CCE(w)=−(1/m)Σt=1mΣi=1Nyi(t)ln ŷi(t)다.
각 클래스의 가중치는 예측확률과 실제 원-핫 값의 차이를 이용해 경사하강법으로 갱신한다. 학습 결과 클래스마다 HLi(x)=0인 선형 결정경계가 만들어지고, 특징 공간이 여러 클래스의 영역으로 나뉜다.
이진 로지스틱 회귀는 하나의 로지스틱 출력으로 두 클래스를 구분하고, 다항 로지스틱 회귀는 클래스별 선형함수의 출력을 소프트맥스로 정규화해 N개 클래스의 확률을 함께 구한다.
군집화와 k-평균 알고리즘
군집화(clustering)는 주어진 패턴 집합을 같은 종류라고 볼 수 있는 몇 개의 서브클래스로 나누는 작업이다. 정답 레이블을 사용하지 않고 데이터 자체의 유사성을 이용하므로 비지도학습에 속한다.
k-평균 군집화(k-means clustering)는 학습표본 집합을 대표하는 k개의 평균벡터, 즉 중심을 구하는 알고리즘이다. k개의 중심을 임의의 값으로 초기화한 뒤 다음 두 단계를 반복한다.
- 각 표본과 가장 가까운 평균벡터를 찾아 표본을 k개 군집 중 하나에 할당한다.
- 각 군집에 속한 표본들의 평균을 구해 그 군집의 평균벡터를 새로 갱신한다.
갱신된 평균벡터가 이전 평균벡터와 같아 더 이상 변하지 않으면 반복을 마친다. 강의의 실행 예에서는 임의로 놓인 초기 평균벡터 때문에 처음에는 경계가 실제 데이터 무리와 맞지 않지만, 표본 할당과 평균 갱신을 반복하면서 중심이 각 데이터 무리의 가운데로 이동하고 군집 경계가 안정된다.
k-평균 군집화의 특성
- 군집 수 k를 학습 전에 지정해야 한다.
- 모든 표본과 가장 가까운 평균벡터 사이의 거리 합이 작아지도록 평균벡터를 찾는다.
- 평균벡터의 초기값에 따라 최종 군집화 결과가 달라질 수 있다.
시험 핵심: k-평균은 ‘가까운 중심에 할당’과 ‘할당된 표본의 평균으로 중심 갱신’을 번갈아 반복한다. 레이블을 이용해 분류 경계를 학습하는 지도학습과 구분해야 한다.
핵심 개념 정리
- 선형회귀는 독립변수와 종속변수의 관계를 선형함수로 모델링하며, 독립변수가 하나면 단순 선형회귀, 둘 이상이면 다중 선형회귀다.
- 선형회귀는 평균제곱오차를 비용함수로 사용하고, 경사하강법으로 기울기의 음의 방향으로 가중치를 갱신한다.
- 로지스틱 회귀는 선형함수의 출력을 로지스틱 함수에 넣어 y=1일 확률을 구하며, 이진 교차 엔트로피를 최소화한다.
- 확률 임곗값 0.5를 적용하면 선형함수 HL(x)=0이 이진 분류의 결정경계가 된다.
- 다항 로지스틱 회귀는 클래스별 선형함수에 소프트맥스를 적용하고, 가장 큰 확률의 클래스를 선택한다.
- 군집화는 레이블 없이 비슷한 패턴을 묶는 비지도학습이며, k-평균은 표본 할당과 중심 갱신을 반복한다.
- k-평균은 k를 미리 정해야 하고 초기 중심에 따라 결과가 달라질 수 있다.
선형회귀와 로지스틱 회귀는 모두 가설의 오차를 비용함수로 나타내고 경사하강법으로 가중치를 학습하지만, 예측 대상과 비용함수가 다르다. 반면 k-평균 군집화는 정답 레이블 없이 거리와 평균을 이용한다. ‘연속값 예측-MSE’, ‘범주 분류-교차 엔트로피’, ‘레이블 없는 집단 발견-거리 기반 중심 갱신’의 대응 관계를 중심으로 정리하면 전체 구조를 명확히 이해할 수 있다.
예상문제 20선
1. 회귀분석에서 종속변수에 대한 설명으로 옳은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ③
종속변수는 독립변수에 따른 관계를 추정하거나 예측하려는 출력이다.
2. 독립변수가 하나인 단순 선형회귀의 가설은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ①
단순 선형회귀는 절편 w0와 기울기 w1으로 이루어진 일차함수를 사용한다.
3. 단순 선형회귀와 다중 선형회귀를 구분하는 기준은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ④
독립변수가 하나면 단순 선형회귀이고, 두 개 이상이면 다중 선형회귀다.
4. 평균제곱오차를 사용하는 이유로 가장 적절한 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ②
오차를 제곱하면 양수와 음수가 상쇄되지 않고 큰 오차의 영향이 커진다.
5. 경사하강법에서 비용함수를 감소시키기 위한 이동 방향은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ③
기울기는 비용이 증가하는 방향이므로 가중치에서 η∇C를 빼 비용을 줄인다.
6. 경사하강 갱신식의 η가 의미하는 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ④
η는 기울기에 곱해 가중치를 얼마나 크게 변경할지를 정하는 학습률이다.
7. 벡터 x의 첫 성분을 1로 두는 주된 이유는?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ①
x의 첫 성분을 1로 두면 w0가 내적에 포함되어 가설을 wTx로 표현할 수 있다.
8. 로지스틱 함수 S(z)의 출력 범위는?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ②
S(z)=1/(1+e−z)는 실수 입력을 0과 1 사이의 확률값으로 바꾼다.
9. 이진 로지스틱 회귀의 비용함수는?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ④
로지스틱 회귀는 실제 클래스에 부여한 확률을 평가하는 이진 교차 엔트로피를 최소화한다.
10. HL(x)=0일 때 로지스틱 가설 HS(x)의 값은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ①
S(0)=1/(1+e0)=1/2이므로 선형함수의 값 0이 확률 0.5에 대응한다.
11. 로지스틱 회귀에서 확률 임곗값을 0.5로 정할 때 결정경계는?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ③
로지스틱 함수가 0.5를 출력하는 로짓은 0이므로 선형함수 HL(x)=0이 결정경계다.
12. 선형회귀와 로지스틱 회귀의 비교로 옳은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ②
두 방법 모두 가중치를 학습하지만 예측 대상과 비용함수가 다르다.
13. 다항 로지스틱 회귀가 필요한 경우는?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ①
다항 로지스틱 회귀는 N개의 클래스별 확률을 구해 세 개 이상의 클래스를 식별한다.
14. 소프트맥스 함수의 역할로 옳은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ④
소프트맥스는 각 클래스 점수를 0과 1 사이의 값으로 정규화하며 전체 확률의 합을 1로 만든다.
15. 다항 로지스틱 회귀의 최종 클래스 선택 방법은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ②
argmaxi ŷi를 적용해 예측확률이 가장 큰 클래스를 출력한다.
16. 군집화에 대한 설명으로 옳은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ③
군집화는 정답 레이블 없이 데이터의 유사성을 이용해 몇 개의 집단으로 나눈다.
17. k-평균 군집화에서 각 표본을 군집에 할당하는 기준은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ①
각 표본은 가장 가까운 평균벡터가 대표하는 군집에 할당된다.
18. k-평균에서 표본을 군집에 할당한 다음 수행하는 단계는?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ④
할당된 표본들의 평균이 그 군집을 대표하는 새 중심이 된다.
19. k-평균 군집화의 특성으로 옳지 않은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ②
k-평균의 최종 군집은 초기 평균벡터의 위치에 따라 달라질 수 있다.
20. 학습 방법과 핵심 요소의 연결로 옳은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ③
세 방법은 각각 연속값 예측, 확률 기반 분류, 비지도 군집화를 위해 서로 다른 기준을 사용한다.
댓글
댓글 쓰기