본문 바로가기
  • 適者生存
WorkOut/LG Aimers

LG Aimers | Machine Learning 개론

by lcrvvxln 2024. 7. 22.

 

 

✅ Machine Learning (ML) 

인공지능의 한 분야로 Data로부터 개선되는 알고리즘을 설계하고 개발하는 분야

 

✅ Artificial Intelligence (AI)

사람의 손으로 인간과 유사한 지능을 만드는 분야 

 

▶ machine learning, computer vision, 자연어 처리, Robotics 등 포함 

 

 

✅ Deep Learning 

 

기계학습 中 계층이 많은 신경망을 쓰는 분야

딥러닝 역시 기계학습의 한 분야이며 특정 모델(신경망)을 사용하는 분야

 

Tom Mitchell's definition

기계학습은 컴퓨터 프로그램을 다루는 것이며, E & P & T로 정의할 수 있음 

T : Task (수행할 작업)
P : Performance Measure (성능지표)
E : Experience = Data (경험, 데이터)

▶ 어떤 작업(T)에 대해 Data(E)를 기반으로 특정 Performance Measure/Metric(P)를 개선하는 것

 

 

📌 Machine Learning (ML)

 

✔️ Traditional Programming

 

코드에 Input 입력 > 프로그램 정의 순서에 따라 연산 수행 > Input 결괏값인 Output 산출 

 

 

✔️ Machine Learning 

 

기본 프로그램 구조 구성 > Input & input에 대해 원하는 Output 등을 전달 > 최종 프로그램은 기계학습 통해 결정

 

e.g.

Spell Checking 프로그램

 

기계학습 방식 구현

  • Input & Output 쌍 알고리즘에 전달 (= 학습 데이터)
  • 알고리즘 학습 진행
  • 학습된 알고리즘 사용

 

 

 

Q.기계학습은 왜 할까? 기계학습의 목적

A. 일반화

 

▶ Example(학습 데이터)을 보고 특정 패턴을 배워서 새로운 Example에 적용하기 위함 

▶ Training data를 주지만, 해당 데이터에 대해 전문화하는 것이 아닌 패턴을 배워서 새로운 data가 오더라도 적용할 수 있는 것 

 

 

 

📌 Generalization (일반화)

Example을 보고 Similarity (유사성) 판단을 통해 하나의 Prototype(전형)을 만듦 = 일반화 , 추상화 

 

수많은 예제를 보고 예제들의 공통 특징을 파악해서 일반화개념, 주장으로 추상화하는 형태

 

 

모델이 학습 data를 완벽히 이해했다면, 학습 data 생성도 가능 (= 생성형, Generative 인공지능)

 

 

 

📌  No Free Lunch Theorem for ML 

어떤 기계학습 알고리즘도 다른 기계학습 알고리즘보다 항상 좋다 (Universally가 없음)

 

새로운 Task, Data마다 최적의 알고리즘을 찾는 과정 수행 필요 

▶ 하나의 알고리즘도 Task에 따라 복잡도가 달라질 수 있음 (ex. 레이어 개수 등)

 

 

 

 

📌 Types of Learning (머신러닝의 종류)

 

1. Supervised Learning (지도학습)

: 학습 데이터에 원하는 출력 데이터 포함

 

2. Unsupervised Learning (비지도학습)

: 학습 데이터에 출력 데이터 비포함

 

3. Semi-supervised Learning 

: 일부 데이터만 출력 데이터 포함

 

4. Reinforcement Learning (강화학습)

: 고정 데이터셋이 아닌 환경

 행위에 대한 보상을 통해 모델 학습 

 

 

 

Supervised Learning (지도학습)

 

특정 Input 값이 들어오면 어떤 Output 값이 나와야 하는지 명시적으로 가르쳐주는 모델

 

$(x_1, y_1)

$x_1$이 들어갔을 때 Desired Output인 $y_1$이 나와야 함, 정답 쌍을 알려주는 방식

Input & Output 학습 Data 쌍을 만들어 기계학습 알고리즘 학습 

 

 

  • 대표 작업

Classification(분류) : y가 범주형 변수 

 

Regression (회귀) : y가 연속적인 실수

 

▶x는 Vector를 이룸, Dimension이 하나의 실수가 아닌 여러 Dimension의 Vector

 

 

 

Unsupervised Learning (비지도학습)

 

 학습 Data가 x로만 구성되어 있는 것, Input Data만 주어짐 

 

▶ 알고리즘이 의도를 파악할 수 없어 정확도가 낮을 수 있음 

 

 

  • 대표 작업

Clustering : 군집화

 

Anomoly detection : Anomoly, Outlier 등 이상치 탐지

 

Density Estimation :  밀도 추정

 

 

 

Semi-supervised Learning 

 

지도학습과 비지도학습의 중간으로

시간이 많이 걸리는 Label(=y값) 작업을 일부만 진행하여 그대로 제공하는 방식

 

학습데이터 제공 시, 일부 데이터는 x&y 쌍 제공 / 일부 데이터는 x만 제공

 

  • 시나리오

LU learning : 몇몇 Data는 Label을 주고, 이외의 Data는 Unlabeled 상태로 제공하는 방식

▶모든 클래스에 대해 일부 data만

 

PU learning : One-class Classification의 일종, 특정 Class에 대한 Data만 주어지는 것 e.g. Positive Data만 알려주고 Negative data는 Unlabeled 상태로 제공하는 방식

 

🔎 One-class Classification

정상 class / 비정상 class가 있을 때, 정상 class에 대한 Data만 주는 경우 

 

 

Q. Unlabel data를 같이 넣어주는 것이 도움이 될까?

 

A. 도움이 된다

 

지도학습은 Label을 주는 것

비지도학습은 data만 주고 Label 값을 주지 않는 것 ▶ 밀집도에 따른 Clustering 

 

 

Semi-Supervised 

Unlabe data를 봤을 때 Label data와 상대적으로 가까운 것을 보고 Label 확률적으로 배분

 

▶Soft Label 제공으로 보다 정확한 Decision Boundary 예측 가능 

▶학습 데이터가 특정 영역에서 새롭게 들어왔을 때, Unlabel data를 같이 줌으로써 정확도 및 성능 향상

 

 

 

 

Reinfocement Learning (강화학습)

 

사전에 주어진 Dataset이 아닌 환경이 주어짐, Agent환경Interaction 하면서 학습하는 과정

 

Supervisor X

State(상태) : 환경과 Interaction

▶ Action  : Agent가 state에 따라 선택하는 방식

 

Agent의 action에 따라 State Transition 이 이루어지고 Reward(보상)이 제공됨

 

 

▶ Reward(보상) : 어떤 State에서 어떤 Action을 취했을 때, 얼마나 좋은 action이었는지 환경이 평가해서 제공하는 것

 

 

 

⚠️ Reward가 바로 주어지는 것이 아니라 이후에 주어질 수 있음

 

State에서 action 수행 이후, State 변화만 있고 Reward는 바로 주어지지 않음

해당 과정 여러번 반복 이후에 Reward 제공

 

▶Reward로 Action 개별 순차적 평가 어려움 

 

 

 


 

📖 기계학습 공부 시 참고하면 좋은 Reference

 

입문

An Introduction to Statistical Learning with Applications in R가볍게 시작하는 통계학습 - R로 실습하는 (위 책 번역본)

 

 

심도학습

The Elements of Statistical Learning Machine Learning :  A Probabilistic PerspectiveInformation Theory, Inference, and Learning AlgorithmsConvex Optimization