머신러닝 알고리즘은 숫자가 꽤 많습니다.
그렇다고 해도 데이터 사이언스 분야에서 자주 언급되는 것들이 있죠. 이런 알고리즘을 알고 있어야 더욱 멋진 데이터 사이언티스트 아닐까요?
이번 글에서는 데이터 사이언티스트가 반드시 알아야 할 7가지 머신 러닝 알고리즘에 대해 소개하려 합니다.
머신러닝을 알아야 하는 이유
데이터 사이언티스트로서 SQL과 Python을 능숙하게 다룰 수 있어야 하는데요. 그리고 머신 러닝 알고리즘도 추가적으로 연마(?)하는 방식으로 역량 강화를 해야 한다고 생각합니다.
모든 문제가 머신 러닝으로 해결되지는 않겠지만, 특정 문제는 규칙 기반(Rule baseed)으로 쓰는 것보다 머신 러닝 알고리즘을 사용하는 것이 훨씬 나은 해결책이죠.
이제 7가지 꼭 알아야 할 머신러닝 알고리즘을 알아보시죠. 간단하게 설명한 테니, 더 자세한 내용은 관련된 상세한 글을 참고하시기 바랍니다.
1. 선형 회귀 (Linear Regression)
선형 회귀는 종속 변수와 하나 이상의 독립 변수 간의 선형 관계를 모델링하는 데 유용합니다. 특히 연속적인 목표 변수 예측에 유용한 최초의 알고리즘 중 하나입니다.
선형 회귀 모델에서는 예측 값을 설명 변수에 가중치를 곱한 것의 합으로 나타냅니다. 가중 치를 조정하여 예측과 실제 값 간의 차이를 최소화하는 것이 목표입니다.
활용되는 사례로는 집값 예측과 같은 프로젝트에 적합합니다. 선형 회귀에 대한 더 자세한 알고리즘 설명은 링크를 참고하시기 바랍니다.
2. 로지스틱 회귀 (Logistic Regression)
로지스틱 회귀는 주로 이진 분류 문제에 사용됩니다. 특정 클래스에 속할 가능성을 예측하는 데 용이하죠.
알고리즘 작동 원리는 로지스틱 함수(시그모이드 함수)를 사용하여 가능성을 예측합니다. 이 값을 기준으로 클래스를 할당합니다.
활용 사례로는 스팸 메일 예측과 같이 간단한 분류 문제에 사용할 수 있습니다. 로지스틱 회귀에 대한 더 자세한 알고리즘 설명은 링크를 참고하시기 바랍니다.
3. 의사결정 트리 (Decision Trees)
의사 결정 트리는 데이터의 특성 값에 따라 분기를 만들며, 직관적입니다. 분류나 회귀에 모두 사용될 수 있습니다.
알고리즘 작동 원리는 데이터를 가장 잘 분할하는 특성을 선택하여 분기를 만들고, 재귀적으로 과정을 반복합니다.
활용 사례로는 이미 다뤄본 분류 문제에서 로지스틱 회귀보다 나은 결과를 보이는지 평가해 볼 수 있습니다. 의사결정 트리에 대한 더 자세한 알고리즘 설명은 링크를 참고하시기 바랍니다.
4. 랜덤 포레스트 (Random Forest)
랜덤 포레스트는 여러 개의 결정 트리를 만들어 그 결과를 평균내어 보다 강력하고 정확한 결과를 제공하는 앙상블 학습 방법입니다.
알고리즘 작동 원리는 배깅과 랜덤 특성 선택을 결합하여 여러 결정 트리를 구성하고, 각 트리의 예측을 투표로 결정합니다.
활용 사례로는 고객 이탈 예측 프로젝트에 적용할 수 있습니다. 랜덤 포레스트(random forest)에 대한 더 자세한 알고리즘 설명은 링크를 참고하시기 바랍니다.
5. 서포트 벡터 머신 (SVM)
SVM은 두 클래스 간의 가장 큰 여백을 가지는 최적의 초평면을 찾아내는 분류 알고리즘입니다. 차원을 높여 n차원의 공간을 분류하는 것도 가능합니다.
알고리즘 작동 원리는 모델의 반복된 최적화 작업을 통해 두 클래스 간 여백을 최대화합니다. 여백을 최대화하면 각각의 좀 더 정확하게 예측하게 됩니다.
활용 사례로는 텍스트 분류나 스팸 탐지 문제에 이용할 수 있습니다. 서포트 벡터 머신(SVM)에 대한 더 자세한 알고리즘 설명은 링크를 참고하시기 바랍니다.
6. K-최근접 이웃 (K-Nearest Neighbors, KNN)
KNN은 간단하면서도 강력한 비모수적 알고리즘으로, 가장 가까운 K개의 점을 찾아 클래스를 결정합니다.
알고리즘 작동 원리는 질의 점과 데이터셋의 다른 점들 간의 거리를 계산하고, 가장 가까운 이웃의 다수결로 클래스를 할당합니다.
활용 사례로는 간단한 분류 문제에서 다른 알고리즘과 성능을 비교하여 사용해 볼 수 있습니다. KNN 알고리즘에 대한 더 자세한 알고리즘 설명은 링크를 참고하시기 바랍니다.
7. K-Means(K-Means Clustering)
K-평균은 데이터셋을 k개의 군집으로 나누는 방법입니다. 각 군집 내의 데이터 포인트는 서로 유사하며 다른 군집의 포인트와는 다르게 구성됩니다.
알고리즘 작동 원리는 군집 중심에 가장 가까운 데이터를 할당하고, 이들의 평균을 새로운 중심으로 설정하는 과정을 반복합니다.
활용 사례로는 고객 세분화 및 이미지 압축 등 다양한 프로젝트에 사용될 수 있습니다. K-Means에 대한 더 자세한 알고리즘 설명은 링크를 참고하시기 바랍니다.
마무리
이 글에서 소개한 알고리즘들은 머신 러닝에서 가장 기본이 되는 알고리즘입니다. 알고리즘을 익히고, 관련되 프로젝트들을 실습을 통해 경험을 쌓아 보시기 바랍니다.