머신러닝이란?
기계(컴퓨터 알고리즘) 스스로 데이터를 학습하여 서로 다른 변수 같의 관계를 찾아 나가는 과정이라고 정의할 수 있다. 해결하려는 문제에 따라 예측(prediction), 분류(calssfication), 군집(clustering) 알고리즘 등으로 분류된다.
지도 학습 vs 비지도 학습
머신러닝은 크게 두 가지 유형으로 분류한다.
정답 데이터를 다른 데이터와 함께 컴퓨터 알고리즘에 입력하는 방식을 지도 학습(supervised learning)이라고 하고,
정답 데이터 없이 컴퓨터 알고리즘 스스로 데이터로부터 숨은 패턴을 찾아내는 방식을 비지도 학습(unsupervised learning) 이라고 한다.
구분 | 지도 학습 | 비지도 학습 |
알고리즘 (분석모형) |
- 회귀분석(선형, 로지스틱) - 분류 - KNN 알고리즘 - 결정 트리 + 랜덤 포레스트 - SVM(support vector machine) - NB(naive bayes) - ANN(artificial neural network, 신경망) |
- 군집분석 - K-Means |
특징 | - 정답을 알고 있는 상태에서 학습 - 모형 평가 방법이 다양한 편 |
- 정답이 없는 상태에서 서로 비슷한 데이터를 찾아서 그룹화 - 모형 평가 방법이 제한적 |
추가적으로 강화 학습: 학습 주체가 현재 상태에서 스스로 시행착오를 겪으면서 최적의 행동을 찾아가는 기계 학습 방법이 있다. 직접 혹은 간접 경험을 겪으면서 환경으로부터 얻은 보상(reward)을 학습하여 어떤 행동을 취할 때 보상이 큰 지를 학습한다. 단, 보상이 무조건 +인 것은 아니다.
머신러닝 프로세스
머신러닝 데이터 분석을 시작하기 전에 컴퓨터 알고리즘이 이해할 수 있는 형태로 데이터를 변환하는 작업이 선행되어야 한다. 분석 대상에 관해 수집한 관측값을 속성(feature 또는 variable)을 기준으로 정리한다.
컴퓨터 알고리즘이 이해할 수 있도록 데이터프레임으로 변환한 다음에는 여러 속성 간의 관계를 분석하여 결과를 예측하는 모형을 학습을 통해 찾는다. 검증 과정을 통해 학습을 마친 모형의 예측 능력을 평가하고, 평가 결과를 바탕으로 최종 모형을 확정하여 문제 해결에 적용한다.
도서) 정보문화사 - 파이썬 머신러닝 판다스 데이터 분석을 보며 정리한 글입니다.