✅ 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
'WorkOut > LG Aimers' 카테고리의 다른 글
LG Aimers | LLM (Large Language Models; 초거대 언어모델) (0) | 2024.07.24 |
---|---|
LG Aimers | Overfitting & Underfitting (머신러닝 과대적합 & 과소적합) (2) | 2024.07.23 |
LG Aimers | Convex Optimization (볼록 최적화) (6) | 2024.07.22 |
LG Aimers | Matrix Decomposition (행렬 분해) (1) | 2024.07.19 |
LG Aimers | AI Essential Course & AI Ethics (0) | 2024.07.15 |