머신러닝은 알고리즘을 컴퓨터 언어를 통해 인공지능에게 학습시키는 것을 말한다.
과거에는 사람이 직접 모든 규칙을 컴퓨터에 입력해야 했다면 머신러닝은 컴퓨터가 방대한 데이터 안에서 스스로 패턴을 학습하고, 이를 바탕으로 새로운 데이터에 대한 결과를 예측하도록 만든다.
머신러닝은 데이터가 학습하는 방법에 따라 분류할 수 있다.
지도학습 : 문제와 정답을 함께 주고 인공지능을 학습시키는 방법이다.
과거의 데이터를 바탕으로 미래의 값을 예측하거나 데이터를 특정 범주로 분류하는 문제를 다룬다.
예시 ) 회귀, SVM, k-NN 등
비지도학습 : 정답이 없는 데이터만 주고 인공지능을 학습시키는 방법이다.
컴퓨터가 스스로 데이터 내부에 숨겨진 구조나 패턴, 연관 규칙을 찾고 비슷한 데이터끼리 군집을 만드는 데 사용된다.
예시) 클러스터링 등
강화학습 : 결과에 따른 보상이 높은 방향으로 인공지능을 학습시키는 방법이다.
최적의 행동 전략을 터득하는 데 사용되며, 자율주행이나 알파고 같은 게임 AI가 대표적이다.
선형회귀 : 데이터들을 가장 잘 설명하는 하나의 직선을 그어 연속적인 수치를 예측하는 머신러닝 모델
로지스틱 회귀 : 특정 사건이 일어날 확률을 0과 1 사이로 예측하여 두 가지 중 하나로 분류하는 머신러닝 모델
가장 가까운 k개의 이웃 데이터를 기준으로 새로운 데이터를 분류하거나 예측하는 방법
거리 계산 방법 : 유클리디안 거리, 맨하튼 거리, 마할라노비스 거리 등을 사용
데이터를 가장 잘 구분짓는 초평면을 찾는 알고리즘
두 데이터 클래스 사이의 간격이 가장 큰 경계면을 찾는 모델이다.
복잡한 데이터의 경우 차원을 고차원으로 늘려서(Kernel Trick) 분류하는 방식을 사용하기도하여 고차원 데이터에서 매우 유용
인간의 뇌 신경망 구조를 모방한 모델
입력층 -> 은닉층 -> 출력층을 거치며 학습하고, 예측값과 정답을 비교하여 수정해나가며 가중치를 조절한다.
딥러닝의 기초가 되는 모델이다.
의사결정 나무 : 스무고개처럼 데이터를 조건문 형태로 분리해가며 예측을 수행
랜덤포레스트 : 여러 개의 결정나무를 랜덤하게 학습시켜 투표 방식으로 최종 예측을 하는 앙상블 기법
의사결정 나무의 데이터 과적합 문제 해결
비슷한 데이터끼리 묶는 비지도학습 방법
머신러닝 모델을 학습할 때 데이터를 train과 test 데이터로 나누어 모델을 훈련하고 평가하는데 이 때 과적합과 과소적합 문제가 발생한다.
정답값과 예측값 사이의 오차로 판단
정답을 맞춘 비율로 판단