Machine Learning
기계 학습(Machine Learning)이란 특정 작업을 경험을 통해 성능을 개선할 수 있는 컴퓨터 프로그램이다.
정의
- "A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E." - Tom Mitchell
학습의 방법
Supervised Learning
- (주어진 데이터 안에서) 입력과 결과의 관계를 알고 있어서 이미 정답을 알고 있는 경우.
- 해결하고자 하는 문제는 classification과 regression으로 나눠볼 수 있음.
- Classification: trying to predict results in a discrete output
- 예) Chest X ray 상에서 폐렴이 있는지 없는지, 혹은 특정 질환이 있는 지 여부와 같은 문제.
- Regression: trying to predict results within a continuous output
- 예) 사진을 보고 나이를 맞추기.
- Classification: trying to predict results in a discrete output
Unsupervised Learning
- 결과를 확실히 알 수 없는 문제에 대해 데이터의 구조, 변수들을 구할 수 있음.
- 결과에 대한 피드백이 없음.
- Clustering: 여러 유전자 그룹을 특성별로 clustering 하기.
- Non-clustering: to find structure in a chaotic environment
- 예) Cocktail Party Algorithm: identifying individual voices and music from a mesh of sounds at a cocktail party.
정확성을 높이기 위한 방법
- 적합한 model 선정, training sample을 늘리기, feature를 조정하기 등.
종류
- Linear regression
- Logistic regression: for classification problem
- decision boundary: line that separates the area where y = 0 and where y = 1, created by our hypothesis function.
- Neural network
- Support vector machine
- K-means clustering
- Principle component analysis(PCA), Dimensionality reduction
- Anomaly detection
- Recommendation system and collaborated filtering
관련 문서
- cost function: 학습하는 모델(혹은 가정, hypothesis function)의 정확성을 나타내며 0에 가까울수록 답에 근접한 것. 다시말해 cost function이 낮아지는 쪽으로 학습.
- Overfitting
- precision: specificity와 같은 개념, recall은 PPV와 같은 개념