머신러닝이란 도대체 무엇일까?
안녕하세요!
로스윗의 코딩캠프입니다.
오늘은 요즘 가장 핫한 키워드인 머신러닝 machine learning에 대해서
같이 한 번 깊~~이 알아보는 시간가져 보겠습니다~!
- 머신러닝이란?
-> 컴퓨터가 주어진 입력값(X)과 찾고자 하는 값(y)사이의 관계를 모델링 하는 방법.
위키피디아에 정의된 머신러닝을 해석해보면
머신러닝이란 경험 E를 통해서 주어진 T에 대해 P로 측정한 값이 향상되는 프로그램을 말합니다.
우리가 공부하는 것을 생각했을 때도 비슷합니다.
특정 과목 기말고사에서 주어진 족보를 풀어서
기말고사 점수가 향상되는 과정을 학습이라고 합니다.
이 과정을 수학적으로 보면
주어진 입력(X)와 찾으려는 값(y) 사이의 관계 f를 찾는 문제로 정의합니다.
이 때 f는 function이며 어떤 수식으로 표현되는 함수라기 보다는
데이터와 데이터 사이의 관계라고 보는 것이 좋습니다.
- 머신러닝의 종류
1. 지도학습 Supervised Learning
-> 입력 데이터(X)와 그에 해당하는 정답(y)가 함께 학습에 사용되는 방법론
a. Classification - 주어진 데이터(X)를 몇 가지 종류(category, y)로 나누는 방법
b. Regression - 주어진 데이터(X)와 관련이 있다고 생각하는 값(y) 사이의 관계를 찾는 방법
2. 비지도학습 Unsupervised Learning
-> 입력 데이터(X)만 학습에 사용되는 방법론. (y가 주어져 있지 않은 경우)
a. Clustering - 주어진 데이터(X)를 몇 가지 그룹(subset of X)으로 나누는 방법.
b. Dimensionality Reduction - 주어진 데이터(X)의 중요한 정보들을 뽑아내는 방법.
3. 강화학습 Reinforcement Learning
-> 행동의 대상(agent)와 환경(environment)사이의 interaction을 통해서
목표를 최대화(reward maximization) 하는 학습 방법론 (e.g. 자율주행)
a. Real-time decisions - 주어진 환경에 대해서 reaction을 하면서 최적화가 필요한 방법
b. Game AI - AlphaGo(바둑), DeepBlue(체스), AlphaStar(스타2)
- 정리 및 요약
ML model은 어떤 데이터로 어떤 문제를 푸느냐에 따라 적절한 모델을 사용합니다
그렇기에 ML을 사용하는 문제 정의가 굉장히 중요합니다.
굳이 ML을 사용할 필요가 없는 경우에는 다른 방법론들로도 충분합니다.
e.g. 통계 모델,. EDA, A/B test, …
오늘은 간단하면서도 깊은 머신러닝에 대해서 같이 알아보았습니다.
다음 포스팅도 이어서 진행해나갈테니
잘 따라와주세요.
감사합니다!
그림으로 쉽게 이해하는 머신러닝 분류(Classification) 모델
'머신러닝' 카테고리의 다른 글
머신러닝 LightGBM이 XGBoost보다 좋은 이유 (0) | 2022.09.03 |
---|---|
한 눈에 이해하는 머신러닝 전과정 (0) | 2022.09.02 |
머신러닝 차원의 저주, 발생 원인과 해결 방안 (0) | 2022.08.20 |
머신러닝 부트스트랩핑, 베깅, 데이터 샘플링에 대한 쉬운 이해 (0) | 2022.08.19 |
머신러닝 랜덤 포레스트 알고리즘 간단 정리 (0) | 2022.08.18 |