2021. 7. 11. 13:55ㆍMachine Learning/General
초창기 지능형 애플리케이션들은 데이터를 처리하고 사용자의 입력을 다루는데 하드 코딩된 "if"와 "else" 명령을 사용하는 시스템이었습니다. 의심되는 메일을 스팸함으로 보내야 하는 스팸 필터를 생각해보겠습니다. 스팸으로 의심되는 단어들로 블랙리스트를 만들어 처리할 수 있을 것입니다. 이 방식은 사람이 직접 스팸으로 의심되는 단어들을 선정하여 그 단어들이 포함된 메일을 스팸으로 분류하는 방식입니다. 이 방법을 활용하면 대부분의 스팸메일들을 처리할 수 있을 것입니다.
하지만, 결정 규칙을 수동으로 만드는 것(스팸으로 의심되는 단어들을 선정)은 계속 결정규칙이 변하거나 결정규칙의 수가 너무 많을 때 잘 작동하지 않을 수도 있습니다. 따라서 이 모델을 사용하여야 하는 사람들은 모델이 직접 결정 규칙을 학습하기를 원했습니다.
즉, 머신러닝이란 원래 사람이 만들던 결정 규칙들을 임무를 수행하는 모델이 데이터로부터 학습하도록 하는 방식을 말합니다. 머신러닝 방법을 사용하면, 사람들이 결정 규칙을 만드는 비용을 줄일 수 있고, 사람들의 실수로부터 오류가 더 적은 모델을 만들 수 있게 됩니다.
머신러닝이 풀고자 하는 문제는 크게 두 가지로 분류할 수 있습니다.
첫 번째는 분류(Classification) 문제입니다. 스팸메일을 분류하거나, 의료영상에서 양, 악성을 분류하는 문제를 예시로 들 수 있습니다. 분류 문제의 정답 레이블은 각각의 데이터가 속하는 클래스(Class)로 제공됩니다. 스팸메일을 분류하는 문제에서 스팸메일인 경우 1, 스팸메일이 아닌 경우 0의 클래스가 제공될 수 있습니다. 각각의 데이터가 속하는 클래스를 학습하기 위해, 모델은 데이터가 클래스에 속할 확률을 구하게 되고, 그 확률을 높이는 방향으로 모델을 학습하게 됩니다.
두 번째는 회귀(Regression) 문제입니다. 여러 기후 데이터를 통해, 그날의 온도를 예측하거나, 집값과 관련된 데이터를 통해 집값을 예측하는 모델을 예시로 들 수 있습니다. 회귀 문제의 정답 레이블은 값(Value)으로 제공됩니다. 그날의 온도를 예측하는 문제에서 각각의 날에 대한 온도가 정답으로 제공될 수 있습니다. 일반적으로 회귀 문제는 예측해야 하는 범주가 실수이기 때문에, 클래스를 예측하는 분류 문제보다 조금 더 학습하기 어렵다고 알려져 있습니다.