1. 기계학습 (ML)
- 기계학습(Machine Learning_ML)은 인공지능의 한 분야입니다.
- ML의 목표는 실험적으로 얻은 데이터로부터 점점 개선되도록 할 수 있는 알고리즘을 설계하고 개발입니다.
Deep Learning : 기계학습 중에 신경망과 신경망 중에 계층이 많은 그런 신경망을 쓰는 특별한 분야
2. 기계학습의 역사
- Herbert Simon's definition
- Turing Award 뿐만 아니라 Nobel Prize in Economics를 수상한 사람입니다.
- 의사결정에 관련된 연구를 많이 수행하였습니다.
- 학습은 경험을 통해서 그 성능을 높이는 시스템에 의한 모든 프로세스라고 정의하였습니다.
- Arthur Samuel's definition
- Game tree에서 Alpha-Beta Pruning이라는 방식을 개발해서 그 당시 체스 프로그램이 일반적인 아마추어보다 잘하는 그런 체스 프로그램을 만드는데 알고리즘을 만든 사람입니다.
- 기계학습은 우리가 직접적으로 프로그래밍하지 않고 컴퓨터가 스스로 배울 수 있는 그런 능력을 다루는 학문이라고 정의하였습니다.
- Tom Mitchell's definition
- 카네기멜론대학교의 인공지능과 기계학습 교수님입니다.
- 기계학습은 컴퓨터 프로그램을 다루는 것인데 컴퓨터 프로그램 중에 E와 P와 T로 정의할 수 있습니다.
- T : Task (어떤 작업을 할 것인지)
- P : Performance Measure (성능지표) - 성능지표를 정의하고 성능지표대로 평가를 함
- E : Data
- 즉, 경험 Data E를 기반으로 해서 어떤 특정 Performance Measure 혹은 Performance Metric P를 개선하는 것입니다. 이를 어떤 작업 T에 대한 것입니다.
- Ex) 체스를 두는 기계학습 알고리즘
- T : 체스를 두는 것
- P : 상대방을 많이 이길수록 좋다
- E : 인공지능 알고리즘이 체스를 두면서 쌓은 학습 데이터
3. 전통적인 프로그래밍 vs ML
전통적인 프로그래밍
- 코드와 Input 정보를 컴퓨터에 주면 컴퓨터가 프로그램에 정의된 순서대로 연산을 수행하고 Output을 내놓습니다.
Machine Learning
- Input과 그 Input이 들어갔을 때 원하는 Output을 컴퓨터에 주면 최종 결과로 프로그램이 나오는 것입니다.
- 단, 프로그램은 사람이 기본적인 프로그램 구조는 다 짜놓고 특정 부분만 Input과 Output의 데이터를 통해 변형될 수 있도록 주는 것입니다.
4. 일반화 (Generalization)
- 기계학습은 Example로 학습 Data를 100개 주지만 이 100개를 보고 어떤 특정 패턴을 배워서 이 100개에 없는 Example에 대해서도 원하는 작업을 하길 기대하기 때문에 기계학습을 하는 것입니다.
- ex) 고양이들의 다양한 종을 보고 그 사이의 유사성을 판단해서 하나의 Prototype 전형이라는 것을 만듭니다.
=> 추상화과정 - 기계학습을 하는 목적은 일반화라고 할 수 있습니다. 만일 학습용으로 만들어준 데이터를 완벽히 이해했다고 하면 해당 모델은 학습 데이터의 생성까지도 가능할 수 있습니다. 이를 생성형 혹은 Generative 인공지능이라고 합니다.
5. No Free Lunch Theorem for ML
- 기계 학습 알고리즘도 다른 기계학습 알고리즘보다 항상 좋다라고 할 수 없다는 것입니다.
- 즉, 매번 새로운 Task, 혹은 새롭게 Data를 모을 때마다 최적의 알고리즘을 찾는 과정을 수행해야 합니다.
- 하나의 알고리즘이 모든 경우에서 좋을 수는 없습니다.
6. 기계학습의 종류
- Supervised learning (지도학습)
- Unsupervised learning (비지도학습)
- Semi-supervised learning (반지도학습)
- Reinforcement learning (강화학습)
6-1. Supervised Learning
- 기계학습 알고리즘에게 이런 Input이 들어오면 이런 Output이 나와야함을 가르쳐주는 알고리즘입니다.
- (input, output) => (x1, y1), (x2, y2), ..., (xn, yn)
- 즉, Input과 Output을 쌍으로 만들고 그런 학습 데이터로 기계학습 알고리즘 함수를 학습합니다.
- Supervised Learning 대표 작업
- Classification : y가 어떤 범주형 변수 (binary classification이면 Positive class와 Negative class로 분류될 수 있습니다.)
- Regression : Output이 실수로 예측이 되게 되는 것입니다. 그리하여 y가 Continuous Variable입니다.
- 많은 경우 x가 vector가 되는 경우가 있습니다.
6-2. Unsupervised Learning
- 학습 데이터가 x로만 구성되어 있다고 볼 수 있습니다.
- 즉, 이러한 Input Data가 주어진다라고만 알려주는 것입니다.
- Supervised Learning보다는 기대를 하면 안됩니다.
- Clustering, Anomaly detection, density estimation이 속합니다.
- Clustering : 일부의 부분에 대해서 마음에 들지만 마음에 안 드는 부분이 나타나게 됩니다. 왜냐하면 Clustering을 어떻게 하라고 명시하지 않았기 때문입니다.
6-3. Semi-supervised Learning
- Supervised Learning과 Unsupervised Learning의 중간에 있다고 보면 됩니다.
- 학습 데이터를 줄 때 몇몇 데이터들은 Desired Output을 제공하지만 몇몇 데이터들은 그냥 Input만 주는 것입니다.
- 이 기계학습이 발전하게 된 계기로는 주로 사람이 작업을 하는데 시간이 많이 걸리기 때문에 몇몇 Example에 대해서는 사람이 Labeling을 해주고 그 외 데이터는 Labeling 하지 않은 상태에서 그대로 주는 것입니다.
- 두 개의 시나리오를 고려하게 됩니다.
- LU Learning : 몇몇의 데이터들은 Label을 주고 그 이외의 데이터들은 Label을 주지 않는 경우
- PU Learning : 정상 Class와 비정상 Class로 나눈다고 할 때 정상 Class에 대한 데이터만 주는 경우
- Supervised Learning : 각각의 Data에 Label을 주는 것입니다.
- Unsupervised Learning : Data만 주고 Data가 어떤 Label을 가지고 있는지 알려주지 않는 것입니다.
- Semi-supervised Learning : 검은색 Data가 Label되지 않은 Data인데 Label된 Data 중 가까운 Label과 같을 확률이 높습니다. Soft한 Label을 줘서 Decision Boundary를 훨씬 더 정확하게 예측할 수 있는 것입니다.
6-4. Reinforcement Learning
- 다른 기계학습과 달리 Dataset이 사전에 주어진게 아니라 환경이 주어집니다.
- 즉, Agent가 환경이랑 Interaction 하면서 학습을 하는 과정입니다.
- State(환경의 상태)를 보고 다음 Agent가 Action을 선택하게 됩니다. 즉, 바둑과 같은 복잡한 게임을 의미합니다.
- 알고리즘에게 하나하나 설명하는 것이 아닌 디테일은 스스로 배우게 하는 것입니다.
- 강화학습이 어려운 이유는 Reward가 바로 주어지지 않고 이후에 주어질 수 있기 때문입니다. 즉, Reward가 Delay될 수 있습니다.
반응형
'LG AI' 카테고리의 다른 글
[Module 1] AI 윤리_세계적인 데이터 과학자가 되는 방법 (0) | 2025.01.26 |
---|---|
[Module 1] AI 윤리_AI Ethics (0) | 2025.01.26 |
[Module 1] AI 윤리_데이터 분석과 AI 학습에서 유의할 점 (1) | 2025.01.26 |