Machine Learning 개론 - Introduction to Machine Learning 강의를 수강하며 공부한 내용을 정리한 포스팅입니다.
Source: Difference between Artificial Intelligence, Machine learning, and deep learning
AI > ML > DL 이라고 생각할 수 있습니다. AI가 가장 넓은 범주의 개념이고, ML은 AI에 속하는 한 분야이며, DL은 ML에 속하는 분야입니다.ML이 무엇인지 알아보도록 하겠습니다.Definition
A computer program is said to learn from experience E with respect to some class of tasks T and performance meausre P, if its performance at tasks in T, as measured by P, improves with experience E. - Tom Mitchell
경험을 기반으로 특정 작업에 대한 성능을 높이기 위한 과정이라고 할 수 있습니다.Traditional Programming vs Machine Learning

입력과 출력이라고 할 수 있습니다.데이터와 프로그램이 주어지면, 그에 따른 결과를 출력합니다. 반면에 머신 러닝은 데이터와 결과가 주어지면, 프로그램을 만들어줍니다.프로그램이 이렇게 동작하기를 원한다와 같은 의도가 담긴 프로그램의 형태 (Architecture, Model Class, Hypothesis Class)를 직접 설계하면, 해당 프로그램이 의도에 맞는 동작을 하기 위해 필요한 값 (Parameter)들을 찾아주는 것입니다.1. Supervised Learning (지도 학습)
Given , learn a function to predict given .
(입력 데이터, 정답 데이터) 쌍을 기반으로 함수 (또는 알고리즘) 를 학습하는 것입니다.classification (분류), regression (회귀) 가 있습니다.categorical (범주형, e.g., 개 / 고양이) 데이터입니다.continuous (연속형, e.g., 주택 가격) 데이터입니다. 2. Unsupervised Learning (비지도 학습)
Given , find a hidden structure. (e.g, clusters)
Unsupervised Learning은 입력 데이터만 주어진 상황에서, 데이터가 가지고 있는 의미를 찾아내는 학습 방법론이라고 할 수 있습니다. (정답 데이터는 주어지지 않습니다)
Unsupervised Learning의 종류로는 clustering, anomaly detection, density estimation 등이 있습니다.
Supervised Learning과 비교한다면, 성능이 나쁘다고 할 수 있습니다. 주어진 데이터로 무엇을 하는 것이 정답인지 모르기 때문입니다. 사람으로 비유하자면, 문제를 풀기 위한 개념을 알려주지 않은 채로 문제집을 풀라는 상황이라고 할 수 있습니다.
다만 Unsupervised Learning의 경우, 정답 데이터 없이도 어느정도 목적을 달성할 수 있는 task인 경우가 많습니다.
Clustering : 한국어로 군집화라고 합니다. 데이터들이 어떤 집합에 속하는지 알아내는 것이 목표입니다. Clustering의 경우 데이터 간의 거리를 기반으로 군집을 파악하는 것이 가능하기 때문에, 정답이 없어도 목적을 달성할 순 있습니다. 다만 데이터가 어떤 집합에 속하는지 정답 데이터가 주어진 채로 학습을 완료한 프로그램보다는 성능이 낮을 수 밖에 없습니다. (Supervised Learning 보단 성능이 낮을 수 밖에 없다는 얘기입니다)
Anomaly Detection : 한국어로 이상치 탐지라고 합니다. 주어진 데이터 샘플에서 이상치 (Outlier) 를 검출하는 것이 목표인 task입니다. 아래 그림을 봅시다.
Source: Anomaly Detection 개요: [1] 이상치 탐지 분야에 대한 소개 및 주요 문제와 핵심 용어, 산업 현장 적용 사례 정리
autoencoder 기반의 unsupervised anomaly detection 방법론입니다. 주어진 데이터 속 대부분의 샘플이 정상이라고 가정하고, autoencoder 구조를 이용하여 원본 data를 reconstruction하는 방식으로 학습을 수행합니다. 3. Semi-Supervised Learning (준지도 학습)
Supervised Learning과 Unsupervised Learning 사이의 어딘가에 있는 학습 방식이라는 것을 이름으로부터 유추할 수 있습니다.
일부 데이터에 대한 정답만 주어지고 나머지 데이터에 대한 정답은 주어지지 않은 상황에서 모델을 학습하는 방식입니다.
Semi-Supervised Learning에는 두 가지 시나리오가 존재합니다.
LU learning
Learning with a small set of Labeled examples and a large set of Unlabeled examples.
PU learning
Learning with Postive and Unlabeled examples. (no labeled negative examples)
binary classification이 있습니다. Binary classification은 한국어로 이진 분류라고 하며, 분류 결과가 두 가지인 분류 작업을 의미합니다.Unlabeled data를 학습에 활용한 경우와 활용하지 않은 경우를 비교했을 때, 전자의 경우가 더 좋은 성능을 기록할 확률이 높았다고 합니다. 왜냐하면, Unlabeled data는 서로 다른 data간의 경계를 더욱 정확하게 파악하는 과정에 도움을 줄 확률이 높기 때문입니다. 다음 그림을 봅시다.

검정색 마름모 기호 (◆) 가 unlabeled data를 의미하는데요. 해당 데이터들의 실제 정답이 무엇인지 알 수는 없지만, 일반적으로 생각했을 때 가까운 곳에 있는 데이터들의 정답과 동일한 확률이 높을 것입니다. 그렇기에 서로 다른 데이터 (○, ☆, ×) 간의 경계를 파악하는 것에 도움을 줄 수 있습니다.
Semi-Supervised Learning 하면 대표적으로 떠오르는 것이 Pseudo-labelling (Proxy labelling)입니다. 아래 그림을 봅시다.
Pseudo-labelling이란 한국어로 가짜 정답 달아주기 정도로 의역할 수 있겠네요. 제일 먼저 labeled data를 이용해 모델을 학습합니다. 이후 학습한 모델을 이용해 unlabeled data에 대한 label (pseudo-label) 을 만들어줍니다. 마지막으로 labeled data와 pseudo-labeled data를 이용하여 모델을 재학습합니다.
Pseudo-labeled data가 항상 모델의 성능을 향상시키는 것은 아니기에, pseudo-labeled data 중 신뢰도가 높은 (쉽게 말해, 가짜 정답이 실제로 진짜 정답일 확률이 높은) 것들만 골라서 사용하기도 합니다.
4. Reinforcement Learning (강화 학습)
A feedback loop between the learning system and its environment.
환경 (Environment) 이 주어진 상태에서 에이전트 (Agent)가 취해야 할 행동 (Action)을 보상 (Reward) 과 상태 (State)를 기반으로 찾아나가는 학습 방법입니다. 순서를 따지자면 다음과 같습니다.에이전트 (Agent, 모델과 유사한 말)는 주어진 환경에서 어떠한 행동 (Action)을 취합니다.보상 (Reward)과 상태 (State)가 정해집니다.횡단보도를 안전하게 건너기 위한 적절한 방법을 아이에게 가르치기를 강화 학습의 형태로 구성해봅시다.환경은 횡단보도, 에이전트는 아이, 행동은 걷기/뛰기, 보상은 칭찬/훈계, 상태는 횡단보도의 신호등 색깔 (빨간색/초록색) 이라고 해봅시다.Machine Learning이란 무엇인지, Machine Learning 방법론에는 어떤 것이 있는지 (Supervised Learning, Unsupervised Learning, Semi-Supervised Learning, Reinforcement Learning) 에 대해 알아보았습니다.⭐⭐ 중요 ⭐⭐
확률이 높다와 같은 표현이 자주 쓰인 것을 볼 수 있습니다. 이는 달리 말해 그렇지 않을 확률도 있다는 얘기입니다.공짜 점심은 없다는 얘기인데요. Machine Learning에서도 이 이론이 적용됩니다. 쉽게 말해 모든 문제에 대해 최고의 성능을 보이는 ML 알고리즘은 없다는 얘기입니다.Generalization과 Bias and Variance에 대해 자세히 알아보도록 하겠습니다.