인공지능 10강 - 머신러닝(1)
머신러닝이 무엇이며 제공되는 정보에 따라 학습 방법이 어떻게 달라지는지 살펴본다. 이어서 관찰 사례로부터 일반 규칙을 얻는 귀납적 학습, 이진 분류기의 평가 지표, 불순도를 이용해 결정트리를 만드는 원리를 학습한다.
학습과 머신러닝의 의미
인공지능에서 학습이란 외부 환경에서 얻은 정보를 이용해 시스템 내부에 지식을 형성하고 저장함으로써 지능적 행동 능력을 갖추는 과정이다. 허버트 사이먼은 학습을 같은 과제나 같은 과제 집단을 다음에 수행할 때 더 효율적이고 효과적으로 처리할 수 있게 만드는 시스템의 적응적 변화로 설명했다. 즉, 단순히 정보를 보관하는 데 그치지 않고 이후의 수행이 개선되어야 학습이라고 할 수 있다.
머신러닝은 이러한 학습을 컴퓨터가 데이터로부터 수행하도록 하는 방법이다. 학습표본의 입력과 결과 사이에서 규칙이나 구조를 찾아 내부 모형을 만들고, 학습에 사용하지 않은 새로운 입력에도 적절한 결과를 내는 것이 중요한 목표다.
시험 핵심: 학습의 결과는 단순한 기억이 아니라 이후 과제 수행의 효율성과 효과성을 높이는 적응적 변화로 나타나야 한다.
제공되는 정보에 따른 학습 방법
학습 방법은 학습자에게 어떤 정보가 제공되는가에 따라 구분된다. 입력에 정답이 함께 주어지는지, 정답 없이 데이터의 구조만 찾는지, 환경과 상호작용하며 보상을 받는지가 핵심 기준이다.
| 학습 방법 | 제공 정보와 학습 방식 | 핵심 사례 |
|---|---|---|
| 지도학습 | 입력과 기대 출력인 레이블을 함께 제공하고, 모형 출력이 기대 출력에 가까워지도록 매개변수를 조정한다. | 분류, 회귀 |
| 비지도학습 | 레이블 없이 입력만 제공하고, 서로 비슷한 입력이 같은 집단에 속하도록 데이터의 구조를 찾는다. | 군집화 |
| 준지도학습 | 소수의 레이블 있는 데이터와 다수의 레이블 없는 데이터를 함께 이용한다. | 적은 정답 자료로 분류 경계 개선 |
| 자기지도학습 | 레이블 없는 데이터에서 알고리즘이 학습 목표와 레이블을 스스로 구성한다. | 문장의 일부 단어를 가리고 예측 |
| 전이학습 | 한 과제로 학습한 결과를 유사한 새 과제에 재사용하고, 필요한 부분을 추가 학습한다. | 사전학습 모형의 미세조정 |
| 강화학습 | 에이전트가 환경에서 행동하고 받은 보상을 바탕으로 장기 보상을 크게 하는 정책을 학습한다. | 상태·행동·보상에 따른 정책 개선 |
준지도학습은 사람이 붙인 레이블이 일부 존재한다는 점에서 자기지도학습과 다르다. 자기지도학습은 원래 데이터 자체에서 예측할 대상을 만들어 감독 신호로 사용한다. 전이학습의 예로는 ImageNet으로 사전학습한 모형에 목표 과제의 요소를 더하고 PASCAL VOC 자료로 객체 검출을 학습한 YOLO가 제시된다.
강화학습에서는 즉시 얻는 보상 하나만 크게 하는 것이 아니라, 현재 행동이 바꾼 환경과 이후의 보상까지 고려한다. 따라서 에이전트가 어떤 상태에서 어떤 행동을 선택할지를 나타내는 정책을 개선해 연속된 보상의 합을 크게 한다.
지도학습의 분류와 회귀는 모두 레이블을 사용한다. 다만 분류는 범주를 출력하고, 회귀는 연속적인 수치를 출력한다는 차이가 있다.
귀납적 학습과 일반화
기계적 학습은 주어진 문제와 해답을 그대로 기억해 동일한 상황에서 다시 사용하는 방식이다. 그러나 가능한 모든 상황을 미리 저장할 수는 없으므로, 새로운 입력에도 적용할 수 있는 일반화가 필요하다. 귀납은 반복되는 관찰이나 경험으로부터 일반화된 논리를 끌어내는 추론이며, 귀납적 학습은 관찰된 학습표본에서 가설을 만들어 보지 못한 사례를 예측한다.
입력과 출력의 관찰쌍을 (xi, yi)라고 하면, 학습은 이 표본들을 잘 설명하는 가설 h를 찾는 과정으로 볼 수 있다. 강의의 스카우트 예에서는 선수의 구속과 체력이라는 속성을 관찰하고, “구속이 θs보다 크고 체력이 θc보다 크면 스카우트 대상”이라는 규칙을 만들 수 있다. 이 규칙은 두 임곗값을 기준으로 특징 공간을 나누는 이진 분류기다.
학습표본은 가능한 모든 사례의 일부에 불과하다. 표본의 구성이나 분포가 달라지면 같은 입력도 다른 방식으로 분류될 수 있으며, 학습에서 보지 못한 입력에 대해 틀릴 수도 있다. 따라서 학습표본에 잘 맞는 것뿐 아니라 새로운 사례에도 올바르게 적용되는 일반화 능력이 중요하다.
시험 핵심: 귀납적 학습은 유한한 관찰 사례에서 일반 가설을 만들기 때문에 학습표본의 구성에 영향을 받으며, 학습표본에 대한 적합성과 새로운 입력에 대한 일반화는 구분해야 한다.
이진 분류기의 평가
이진 분류기의 결과는 실제 클래스와 예측 클래스를 교차해 네 경우로 나눈다. 양성을 양성으로 맞히면 참양성(TP), 음성을 음성으로 맞히면 참음성(TN), 실제 음성을 양성으로 잘못 판단하면 거짓양성(FP), 실제 양성을 음성으로 놓치면 거짓음성(FN)이다.
| 실제·예측 관계 | 기호 | 의미 |
|---|---|---|
| 실제 양성·예측 양성 | TP | 양성을 올바르게 검출 |
| 실제 음성·예측 음성 | TN | 음성을 올바르게 배제 |
| 실제 음성·예측 양성 | FP | 음성을 양성으로 잘못 검출 |
| 실제 양성·예측 음성 | FN | 양성을 놓침 |
정밀도와 재현율
정밀도(precision) = TP/(TP+FP)는 양성이라고 예측한 사례 중 실제 양성의 비율이다. 재현율(recall) = TP/(TP+FN)은 실제 양성 중 분류기가 찾아낸 비율이다. 강의의 예에서 TP=18, FP=1, FN=2라면 정밀도는 18/19로 약 0.95이고 재현율은 18/20으로 0.9이다.
판정 임곗값을 엄격하게 하면 양성 판정 수가 줄어 정밀도가 높아질 수 있지만 실제 양성을 더 많이 놓쳐 재현율이 낮아질 수 있다. 반대로 임곗값을 완화하면 재현율은 높아질 수 있지만 거짓양성이 늘어 정밀도가 낮아질 수 있다. 따라서 두 값은 함께 살펴야 한다.
F1 점수와 정확도
F1 점수 = 2·precision·recall/(precision+recall) = 2TP/(2TP+FP+FN)이며 정밀도와 재현율의 조화평균이다. 한쪽 값만 높고 다른 쪽이 낮으면 F1 점수도 제한되므로 두 지표의 균형을 평가할 수 있다.
정확도(accuracy) = (TP+TN)/(TP+TN+FP+FN)는 전체 사례 중 올바르게 분류한 비율이다. 정확도는 전체 정답률을 보여 주지만, 정밀도와 재현율은 양성 판정의 품질을 서로 다른 관점에서 보여 준다.
강의 예처럼 임곗값에 따라 정밀도 1.0·재현율 0.35가 될 수도 있고, 재현율 1.0·정밀도 0.71이 될 수도 있다. 어느 하나만 보고 분류기가 항상 우수하다고 판단해서는 안 된다.
학습 데이터의 품질
학습 데이터 집합의 결함은 학습 품질과 밀접한 관계가 있다. 첫째, 입력 속성값이 부정확하면 모형은 잘못 측정되거나 기록된 정보를 규칙으로 받아들일 수 있다. 둘째, 학습 예를 잘못 분류해 레이블을 붙이면 지도학습의 목표 자체가 왜곡된다. 셋째, 문제를 구분하는 데 필요한 주요 속성이 빠지면 모형은 충분한 판단 근거를 얻지 못한다.
이 세 결함은 각각 속성값의 오류, 레이블 오류, 중요한 특징의 누락에 해당한다. 학습 알고리즘만 복잡하게 만드는 것으로는 잘못된 데이터에서 생긴 문제를 근본적으로 해결하기 어렵기 때문에, 데이터의 정확성과 대표성, 필요한 속성의 포함 여부를 먼저 확인해야 한다.
결정트리의 구조와 표현
결정트리(decision tree)는 분할정복 방식으로 특징 공간을 반복해서 나누어 입력을 분류하거나 회귀 값을 출력하는 트리다. 분류를 위한 트리를 분류트리, 연속 값을 예측하는 트리를 회귀트리라고 한다.
루트와 내부노드는 특징 공간을 분할할 조건을 판단하는 결정노드다. 가지는 조건 판단의 결과를 나타내며, 잎노드는 더 이상 분할하지 않는 최종 영역으로 입력에 대한 출력값을 갖는다. 따라서 한 입력의 예측은 루트에서 조건을 차례로 검사해 해당 가지를 따라가고, 도달한 잎노드의 값을 출력하는 과정이다.
강의의 스카우트 예에서는 먼저 “구속 > θs”를 검사하고, 참인 경우 다시 “체력 > θc”를 검사한다. 두 조건을 모두 만족하면 스카우트 대상, 그렇지 않으면 스카우트 제외로 분류된다. 이 트리는 특징 공간을 구속 임곗값과 체력 임곗값으로 나눈 도식과 같은 분류 경계를 표현한다.
시험 핵심: 결정노드는 분할 조건을 판단하고 잎노드는 최종 출력값을 가진다. 루트도 결정노드에 포함된다.
불순도와 결정트리 학습
결정트리는 제시된 학습표본으로부터 지도학습 방식으로 만들어진다. 각 노드에 모인 표본의 클래스가 얼마나 섞여 있는지를 불순도로 검사한다. 불순도가 높으면 표본을 더 순수한 자식노드로 나눌 수 있는 특징과 조건을 찾아 결정노드를 만들고, 불순도가 0이거나 정해진 임계 이하이면 다수 표본의 클래스를 출력하는 잎노드를 만든다.
엔트로피와 지니 불순도
노드에 속한 전체 표본 수를 m, i번째 클래스 표본 수를 mi, 클래스 비율을 pi=mi/m, 클래스 수를 N이라고 하자. 엔트로피를 이용한 불순도는 φE = −Σi=1Npilog2pi로 계산한다. 지니 불순도는 φG = 1−Σi=1Npi2로 계산한다.
한 클래스만 존재하면 해당 클래스의 비율은 1이고 나머지는 0이므로 불순도는 0이다. 여러 클래스가 고르게 섞일수록 불순도가 커진다. 예를 들어 두 클래스의 표본이 각각 7개와 9개인 16개 표본 노드의 지니 불순도는 1−{(7/16)2+(9/16)2} = 126/256 ≈ 0.492이다. 강의 슬라이드 중간식에는 130/256으로 표기되어 있지만, 제시된 비율의 제곱합을 직접 계산하면 126/256이므로 최종 근삿값 0.492와 일치한다.
불순도는 분류기가 맞힌 비율을 나타내는 정확도와 다르다. 불순도는 특정 노드 안에서 클래스들이 얼마나 섞여 있는지를 측정해 다음 분할을 선택하는 기준으로 사용한다.
가중 불순도를 이용한 노드 분할
한 노드를 j번째 속성으로 분할했을 때의 평가는 자식노드 불순도의 가중평균으로 계산한다. 분할 전 노드의 표본 수가 m이고, k번째 자식노드의 표본 수가 mk(j), 그 자식노드의 불순도가 φk(j)라면 C(j)=Σk=1K{mk(j)/m}φk(j)이다. 표본이 많이 들어간 자식노드의 불순도가 더 큰 비중을 갖도록 가중하는 셈이다.
강의의 지니 불순도 예에서 첫 번째 특징으로 분할하면 자식노드의 표본 수와 불순도가 각각 6개·0.278, 10개·0.32이므로 C(1)=(6/16)·0.278+(10/16)·0.32=0.304다. 두 번째 특징으로 분할하면 각각 8개·0.469, 8개·0.5이므로 C(2)=(8/16)·0.469+(8/16)·0.5≈0.485다.
분할 결과의 불순도가 가장 낮아지는 속성을 선택하므로 C(1)이 더 작은 첫 번째 특징을 기준으로 분할한다. 이 선택으로 현재 노드는 비단말노드가 되고, 두 자식 영역에 대해 같은 검사를 반복한다. 이와 같이 결정트리는 불순도가 큰 노드를 적절한 특징으로 나누는 과정을 반복해 형성된다.
시험 핵심: 후보 분할을 비교할 때 자식노드 불순도의 단순평균이 아니라 자식노드 표본 수를 반영한 가중평균을 사용하며, 그 값이 가장 작은 분할을 선택한다.
핵심 개념 정리
- 머신러닝은 외부 정보로 시스템 내부의 지식을 형성하고 저장해 이후 과제 수행 능력을 개선하는 학습 과정이다.
- 지도학습은 레이블을 사용하고, 비지도학습은 입력의 구조를 찾으며, 강화학습은 환경과 상호작용하면서 장기 보상을 크게 하는 정책을 학습한다.
- 준지도학습은 소수의 레이블 자료를 이용하지만 자기지도학습은 데이터 자체에서 감독 신호를 만든다. 전이학습은 기존 학습 결과를 유사한 새 과제에 재사용한다.
- 귀납적 학습은 관찰쌍에서 가설을 일반화하므로 학습표본의 구성과 새로운 사례에 대한 일반화 능력이 중요하다.
- 정밀도는 양성 예측의 신뢰도, 재현율은 실제 양성의 검출 비율, F1 점수는 두 값의 조화평균, 정확도는 전체 정답률이다.
- 학습 데이터의 부정확한 속성값, 잘못된 레이블, 주요 속성 누락은 학습 품질을 떨어뜨린다.
- 결정트리의 결정노드는 분할 조건을 판단하고 잎노드는 최종 출력값을 갖는다.
- 결정트리는 엔트로피나 지니 불순도로 클래스의 혼합 정도를 측정하고, 자식노드의 가중 불순도가 가장 작아지는 분할을 선택한다.
이 강의의 흐름은 ‘데이터에서 일반 규칙을 학습하고, 결과를 올바른 지표로 평가하며, 결정트리에서는 불순도가 감소하도록 특징 공간을 반복 분할한다’로 정리할 수 있다. 학습 방식의 구분 기준, TP·TN·FP·FN에서 각 평가식을 만드는 방법, 자식노드 표본 수를 반영한 가중 불순도 계산을 연결해 이해하는 것이 중요하다.
예상문제 20선
1. 허버트 사이먼의 설명에 비추어 학습의 결과로 가장 적절한 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ③
학습은 이후 같은 과제나 같은 과제 집단의 수행을 개선하는 적응적 변화다.
2. 입력과 기대 출력 레이블을 함께 제공하는 학습 방법은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ①
지도학습은 입력과 정답인 기대 출력을 함께 사용해 모형의 매개변수를 조정한다.
3. 자기지도학습에 대한 설명으로 옳은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ④
자기지도학습은 데이터 일부를 가리고 예측하게 하는 것처럼 데이터 자체에서 감독 신호를 만든다.
4. 전이학습에 대한 설명으로 가장 적절한 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ②
전이학습은 이미 학습된 표현이나 매개변수를 유사한 목표 과제에 활용하고 필요한 부분을 추가 학습한다.
5. 강화학습에서 정책이 의미하는 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ③
정책은 에이전트가 현재 상태에서 선택할 행동을 정하며, 장기 보상을 크게 하도록 학습된다.
6. 귀납적 학습에 대한 설명으로 옳지 않은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ④
모든 사례를 저장하는 것은 기계적 학습에 가까우며, 귀납적 학습은 일부 관찰에서 일반 규칙을 얻는다.
7. 실제 음성인 사례를 양성으로 잘못 예측한 경우는?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ①
실제 음성을 양성으로 오판한 경우를 거짓양성, 즉 FP라고 한다.
8. 양성이라고 예측한 사례 중 실제 양성의 비율을 나타내는 지표는?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ②
정밀도는 TP/(TP+FP)로, 양성 예측이 얼마나 믿을 만한지를 나타낸다.
9. TP=18, FP=1, FN=2일 때 재현율은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ④
재현율은 TP/(TP+FN)이므로 18/(18+2)=18/20=0.9이다.
10. F1 점수에 대한 설명으로 옳은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ①
F1 점수는 두 지표의 균형을 반영하는 조화평균이다.
11. 전체 데이터 중 올바르게 분류한 데이터의 비율을 나타내는 식은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ③
정확도는 참양성과 참음성을 합해 전체 사례 수로 나눈 값이다.
12. 학습 데이터의 결함 유형에 해당하지 않는 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ②
정확한 속성과 레이블을 갖춘 표본은 결함이 아니다. 나머지는 강의에서 제시한 학습 예의 결함 유형이다.
13. 결정트리의 잎노드에 대한 설명으로 옳은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ①
잎노드는 더 이상 나누지 않는 최종 영역이며 분류 클래스나 회귀 값과 같은 출력을 갖는다.
14. 결정트리 학습에서 현재 노드의 불순도가 충분히 낮을 때 수행하는 일은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ④
불순도가 0이거나 정해진 임계 이하이면 추가 분할을 멈추고 잎노드를 만든다.
15. 클래스 비율이 pi일 때 지니 불순도의 계산식은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ②
지니 불순도는 1에서 각 클래스 비율 제곱의 합을 뺀 값이다. ①은 엔트로피 식이다.
16. 한 노드의 모든 표본이 동일한 클래스에 속할 때 지니 불순도는?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ③
한 클래스의 비율이 1이면 제곱합도 1이므로 지니 불순도는 1−1=0이다.
17. 두 클래스 표본이 7개와 9개인 노드의 지니 불순도에 가장 가까운 값은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ①
1−{(7/16)2+(9/16)2}=126/256≈0.492이다.
18. 후보 속성으로 노드를 분할한 뒤 C(j)를 계산할 때 자식노드 불순도에 곱하는 값은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ④
각 자식노드의 불순도는 mk(j)/m을 가중치로 하여 합산한다.
19. C(1)=0.304이고 C(2)=0.485일 때 선택할 분할은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ②
결정트리는 분할 후 가중 불순도가 가장 낮아지는 속성을 선택하므로 C(1)이 선택된다.
20. 결정트리 학습 과정의 순서로 가장 적절한 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ③
각 노드의 불순도를 검사하고 후보 분할의 가중 불순도를 비교해 가장 순수해지는 분할을 선택하는 과정을 반복한다.
댓글
댓글 쓰기