지도 학습 알고리즘은 입력과 출력을 연결하게 하는 방법을 학습하는데, 종종 사람이 출력을 제공합니다. 그러나 자동으로 수집하는 경우에도 여전히 지도 학습으로 간주합니다.
확률분포 추정과 선형 회귀
지도 학습 알고리즘 대부분은 확률분포의 추정에 의존합니다. 이 추정은 주어진 입력에 대한 출력의 확률분포를 모델링하며, 일반적으로 최대가능도 추정을 사용하여 각 매개변수 벡터의 값을 결정합니다.
로지스틱 회귀와 이진 분류
선형 회귀는 매개변수적 확률분포 모델에 해당합니다. 그러나 다른 매개변수적 분포를 정의하면 선형 회귀를 분류 문제로 확장할 수 있습니다. 두 개의 클래스가 있는 경우, 각 클래스에 대한 확률을 설정하면 됩니다. 두 클래스의 확률의 합은 1이므로 한 클래스의 확률을 알면 다른 클래스의 확률도 알 수 있습니다.
선형 회귀에서는 실숫값을 예측하기 위해 정규분포를 사용하는데, 이때 평균은 어떤 값이든 가능합니다. 그러나 이진 변수에 대한 분포는 더 복잡합니다. 이진 변수의 평균은 항상 0과 1 사이여야 합니다. 이 문제를 해결하기 위한 한 가지 방법은 로그 함수를 사용하여 일차 함수의 출력을 구간 [0, 1]로 압축하고 해당 구간의 값을 확률로 사용하는 것입니다. 이러한 접근 방식을 로지스틱 회귀라고 합니다.
로지스틱 회귀에서의 가중치 최적화
선형 회귀에서는 정규 방정식을 사용하여 닫힌 형식으로 최적의 가중치를 구할 수 있었습니다. 그러나 로지스틱 회귀에서는 최적의 가중치를 구하는 것이 좀 더 어렵습니다. 이 경우에는 최적의 가중치에 대한 닫힌 형식의 해가 없기 때문입니다. 대신 경사 하강법을 사용하여 음의 로그 가능성을 최소화하여 최적의 가중치를 찾아야 합니다.
지도 학습의 일반적인 전략
이러한 전략은 본질적으로 모든 지도 학습 문제에 적용할 수 있습니다. 적절한 입력 변수와 출력 변수에 대한 조건부 확률 분포의 매개변수를 설정하는 것이 중요합니다. 그 후에는 해당 분포를 모델링하는데 사용할 수 있는 적절한 알고리즘을 선택하면 됩니다.
지지 벡터 머신(SVM) 소개
지지 벡터 머신(SVM)은 지도 학습에서 영향력 있는 접근 방식 중 하나입니다. 이 모델은 로지스틱 회귀와 비슷하게 일차 함수가 학습을 주도하지만, 확률을 제공하는 대신 입력이 속한 클래스를 알려줍니다. 양수일 때 SVM은 양성 클래스가 있다고 예측하며, 음수일 때는 음성 클래스가 있다고 예측합니다.
SVM과 커널 트릭
지지 벡터 머신의 혁신적인 특징 중 하나는 커널 트릭을 사용한다는 것입니다. 커널 트릭은 여러 가지 기계 학습 알고리즘을 보기들의 내적으로만 표현할 수 있다는 통찰에 기초합니다. 내적을 커널 함수의 평가로 대체한 후에는 다음과 같은 함수를 사용하여 예측을 수행할 수 있습니다.
커널 트릭은 두 가지 이유에서 강력합니다. 첫째로, 비선형 함수를 효율적으로 최적화할 수 있는 볼록 함수 최적화 기법을 사용하여 학습할 수 있습니다. 이는 특징 함수가 고정되어 있고 벡터만 최적화되기 때문에 가능합니다. 즉, 최적화 알고리즘을 원래의 문제와는 다른 공간에서 일차함수로 볼 수 있습니다. 둘째로, 커널 함수를 더욱 효율적으로 계산할 수 있습니다. 이는 단순히 두 특징 함수 벡터의 내적을 계산하는 방식보다 더 효율적으로 커널 함수를 구현할 수 있을 때가 많습니다.
때로는 특징 함수가 무한차원일 때도 커널 트릭을 사용할 수 있습니다. 이러한 경우에는 커널 트릭을 사용하지 않는 명시적인 계산 방식에서 계산 비용이 무한대가 될 수 있습니다. 하지만 커널 트릭을 사용하면 처리 불가능한 특징 함수의 계산을 가능한 범위로 축소할 수 있습니다. 무한차원 특징 공간에 대한 커널 함수의 평가가 처리할 수 있는 경우도 있습니다. 예를 들어, 정수들에 대한 특징 함수가 무한히 많은 수의 0 다음에 1로 구성된 훈련 보기를 가지고 있다면, 이 경우 커널 함수는 그러한 벡터를 예측하는 데 필요한 무한차원 내적과 정확히 동일합니다.
커널 함수의 강점과 가우시안 커널
가장 흔히 사용되는 커널 함수 중 하나는 가우시안 커널입니다. 이 커널은 방사형 기저 함수 커널이라고도 불리는데, 이는 해당 커널의 값이 공간에서 사방으로 뻗어 나가는 선들을 따라 감소하기 때문입니다. 가우시안 커널은 무한차원 공간의 내적에 해당하지만, 이러한 공간을 정의하는 것은 간단하지 않을 수 있습니다.
가우시안 커널을 적용하는 것은 일종의 템플릿 부합을 수행하는 것으로 생각할 수 있습니다. 이 경우 훈련 보기에 연관된 훈련 레이블은 해당 부류에 대한 하나의 템플릿 역할을 합니다. 가우시안 커널은 훈련 보기에 가까이 있는 테스트 데이터 포인트에 크게 반응합니다. 이로 인해 학습 모델은 해당 훈련 레이블에 대해 큰 가중치를 할당합니다. 전반적으로 모델은 여러 훈련 레이블을 해당 훈련 보기와의 유사성을 반영한 가중치로 결합하여 예측값을 생성합니다.
핵 기계와 핵 트릭
핵 트릭을 사용하여 선형 모델을 개선할 수 있는 알고리즘이 지지 벡터 머신 뿐만이 아닙니다. 다른 여러 선형 모델도 핵 트릭을 사용하여 개선할 수 있습니다. 이러한 핵 트릭을 사용하는 알고리즘들을 종합적으로 핵 기계 또는 커널 기법 알고리즘이라고 부릅니다.
지지 벡터 머신의 효율적인 구현
핵 기계들의 주요 단점 중 하나는 결정 함수의 평가 비용이 훈련 보기의 개수에 비례하여 증가한다는 것입니다. 이 문제를 완화하기 위해지지 벡터 머신에서는 대부분의 성분이 0인 벡터를 학습하여 해당 비용 부담을 줄일 수 있습니다. 이러한 경우에는 새로운 보기를 분류할 때 0이 아닌 훈련 보기들에 대해서만 커널 함수를 평가하면 됩니다. 이러한 보기들을 지지 벡터라고 합니다. 지지 벡터 머신은 이 지지 벡터들을 이용하여 예측을 수행하고, 그 외의 보기들은 무시하여 계산 비용을 절감할 수 있습니다.
결론
지도 학습 알고리즘은 입력과 출력 간의 연결을 학습하는데, 때로는 사람이 출력을 제공하지만 자동으로 수집하는 경우에도 여전히 지도 학습으로 간주됩니다. 선형 회귀와 로지스틱 회귀는 주로 확률분포 추정에 기초하며, 로지스틱 회귀는 이진 분류를 다루기 위해 사용됩니다. 최적의 가중치를 찾는 것은 로지스틱 회귀에서 더 어려운 과제이며, 이를 위해 경사 하강법을 사용합니다. 지지 벡터 머신은 입력이 속한 클래스를 예측하는 데 사용되며, 커널 트릭을 통해 비선형 문제를 효과적으로 다룰 수 있습니다. 가우시안 커널은 이러한 비선형성을 강화하는 데 사용되며, 핵 기계 또는 커널 기법 알고리즘이 이를 활용하여 선형 모델을 개선합니다. 지지 벡터 머신은 효율적인 구현을 위해 대부분의 성분이 0인 벡터를 학습하고, 이를 이용하여 계산 비용을 줄입니다.