juooo1117

[Module 3] Machine Learning 개론: Introduction to ML 본문

Artificial Intelligence/LG Aimers: AI전문가과정

[Module 3] Machine Learning 개론: Introduction to ML

Hyo__ni 2024. 1. 6. 19:23

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이었는지를 환경이 평가해 주는 것의 개념이다.