[Module 3] Machine Learning 개론: Introduction to ML
Part 1. Introduction to Machine Learning
What is Machine Learning?
A branch of artificial intelligence, concerned with the design and development of algorithms that allow computers to evolve behaviors based on empirical data.
→ 인공지능의 한 분야이며, 기계학습의 목표는 점점 개선되는 알고리즘을 설계하는 것!
*Deep learning: machine learning에 속하며, 계층이 많은(deep) 신경망(model)을 쓰는 분야를 말한다.
Tom Mitchell's definition
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
- T : classification, regression, detection, ...
- P : error rate, accuracy, likelihood, margin, ... (성능지표)
- E : data
→ 잘 정의된 인공지능 알고리즘이라면, 위 세가지가 완벽히 정의되어 있어야 한다.
작업 T에 대해서, 경험 Data E를 기반으로, 특정한 Performance Measure 혹은 Performance Metric P 를 개선하는 과정을 말한다.
[Traditional programming과 machine learning의 차이점]
Generalization
일반화는 기계학습의 가장 큰 목표이다.
Definition of Generalization
- A form of abstraction where common properties of specific instances are formulated as general concepts or claims.
- It extracts the essence of a concept based on its analysis of similarities from many discrete objects.
Object of learning
- Not to learn an exact representation of the training data itself.
- To build a statistical model of the process that generates the data.
→ 즉, training data 로부터 어떤 패턴을 배워서 training data에서 보지 못한 새로운 data를 처리할 때도 잘 처리할 수 있도록 하는 것이 목표! (만약 모델이 training data를 완벽하게 이해했다면 이 모델은 새로운 데이터를 생성할 수도 있다 / generative AI)
No Free Lunch Theorem for ML
No machine learning algorithm is universally any better than any other.
어떤 ML algorithm도 다른 것보다 항상 좋다고 할 수 없다. 하나의 성능 좋은 알고리즘이 언제나 좋은 성능을 내지는 않기 때문이다.
Types of Learning
Supervised learning
이런 input이 들어오면, 이런 output이 나와야 한다고 알려주는 방법 → 즉, 정답을 알려준다.
*Task: classification('y' is categorical), regression('y' is continuous)
Unsupervised learning
학습데이터가 x로만 구성되어있다. 즉, 정답 y 가 없다. (Desired Output을 알고리즘에게 명시해 주지 않은 것)
Find a hidden structure
*Task: Clustering, anomaly detection(특이치 찾아내는 과정), density estimation(분포를 찾아내는 과정), ...
Semi-supervised learning
supervised learning과 unsupervised learning의 중간에 위치하고 있다.
Some of training data includes desired outputs (y)
- One of the bottlenecks of learning is the labeling of examples.
- Often done manually and time consuming.
- We can label only a small number of examples and make use of a large number of unlabeled examples to learn.
→ 시간이 많이 걸리니까, 몇몇 example은 사람이 labeling하고 그 외 데이터는 labeling 하지 않은 채로 모델에 넣어준다.
LU learning: Learning with a small set of Labeled examples and a large set of Unlabeled examples (몇몇 데이터들은 레이블을 주고 그 이외의 데이터는 레이블을 안 주는 경우)
PU learning: Learning with Positive and Unlabeled examples (no labeled negative examples, 특정 class에 대한 데이터만 주어지는 경우)
Why Semi-supervised learning Helpful?
- similar data points have similar labels
- unlabeled data can help identify the boundary more accurately. (좀 더 정확한 decision boundary를 얻을 수 있음)
Reinforcement learning
A feedback loop between the learning system and its environment (환경과 계속 interaction 한다.)
- Does not experience a fixed dataset
- No supervisor, but only rewards
- Feedback could be delayed, not instantaneous
- Agent's actions affect the subsequent data it receives
환경이 새로운 state transition을 통해서 새로운 state를 주고 reward를 주게 된다.
reward는 어떠한 state에서 action을 했을 때 그것이 얼마나 좋은 action이었는지를 환경이 평가해 주는 것의 개념이다.