'll Hacker
[LG AImers 6기] ML이론 - Introduction to ML 본문
안녕하세요 aI에 관심 생긴지 한달되었습니다.
졸프를 하면서 ai모델을 만들어서 프로젝트 진행하는 바람에, 저는 ai 감자새^^키라서 성능좋은 ai모델을 만들고자
LG aimers 6기에 참여했습니다. 공부 목적이니까 틀려도 양해부탁드리고, 댓글에 좋은 말로 고칠 부분 적어주세요😉
항상 봐주셔서 감사합니다! 구독도 부탁드리고, 좋아요도...ㅎㅎㅎ
그럼 시작하겠습니닷!
Introduction to ML
Artificial Intelligence ⊃ Machine Learing ⊃ Deep Learning 으로 관계가 형성됩니다.
인공지능은 인간처럼 사고하고 행동하는 컴퓨터이라고 보면 될 것 같습니다.
인공으로 만든 지능이라고 생각할 수 있습니다.
머신러닝은 컴퓨터가 데이터 속에서 다양한 것들을 학습하고 예측할 수 있도록 하는 인공지능의 한 형태입니다.
딥러닝은 신경망과 다중레이어가 존재하며 특정 모델을 사용합니다.
그리고, 머신러닝과 딥러닝의 차이는 제가 궁금해서 인프런에서 찾아봤습니다.
머신러닝은 입력 데이터와 출력 데이터 사이의 관계를 학습하는 것에 초점을 맞춥니다.
즉, 데이터를 분석하고 모델을 만들어 미래의 결과를 예측하는 것이 목적입니다. 따라서, 수학적 모델을 사용해서 데이터를 분석하고, 그 데이터들의 특징을 파악한 후 모델을 만들어 새로운 데이터를 예측하는게 중요합니다.
딥러닝은 인공 신경망 기반의 모델을 사용해서 데이터의 특징을 자동으로 알아내고, 학습 방법 중 지도학습을 가장 많이 사용하고 있습니다.
Machine Learning
일단 큰 개념인 머신러닝부터 설명하겠습니다.
Machine Learning(ML)은 다양한 정의가 있는데, 대표적으로 두분이 정의를 내려주셨습니다.
⏪ Herbert Simon
의사결정 연구를 진행하셨습니다.
그니까, 경험을 통해 학습을 시킨다는 정의를 하셨습니다.
⏪ Arthur Samuel
바둑, 체스를 통해 머신러닝을 정의하셨는데요,
apha beta pruning 알고리즘을 사용하셨습니다.
이것을 통해 "컴퓨터가 명시된 프로그램이 없이 스스로 학습한다" 라고 정의하셨습니다.
결론적으로 기계학습은 Experience Data, Performance Measure, Task가 필요합니다.
학습될 데이터와, 누가 더 좋은 알고리즘인지 확인해야되고, 이것을 통해 무슨 작업(예: classification, regression)을 할 것인가?가 필요하다는 의미입니다.
머신러닝이 아닌 일반적인 프로그램에서는
이 다이어그램과 같이 데이터와 프로그램을 입력으로 하여 결과를 도출해냈습니다.
근데 여기서 문제점이 있습니다. 복잡성이 걸립니다. 효율적인 코드를 구현하기 위해 시간과 비용이 함께 계산되어야된다는 점입니다.
하지만, 머신러닝에서는 데이터(input)와 결과(output)를 입력으로 하여 프로그램을 도출해낸다는 놀라운 사실입니다.
input에 정답인 output을 학습시킴으로써 Generalization이 생기는게 Key Point입니다.
그래서 우리는 이 Generalization을 통해 새로 생성도 할 수 있고 추측도 할 수 있게 됩니다.
그렇다면 Generalization이 무엇일까요?
Generalization
왼쪽에 무슨 그림이 있습니다.
다 다른 모양이지만 두 가지 공통점이 있습니다. 무엇일까요?
그건 바로, 초록색 나뭇잎과 갈색 밑동입니다. 이것은 나무의 특징입니다. 그래서 우리는 다른 모양이지만 나무라고 알고 있습니다. 이것이 Generalization 입니다.
input과 매칭된 output을 학습시킨다음에 공통적인 특징을 잡아내어 일반화를 합니다. 일반화 후 생성할 수도 있습니다.
데이터마다 최적의 알고리즘이 다르기 때문에 한 모델이 항상 좋은 것만은 아닙니다. 그래서 최적의 알고리즘을 찾아야합니다.
Types of Learning
학습시키는 방법이 네 가지가 있습니다.
1. 지도학습
2. 비지도 학습
3. 준지도 학습
4. 강화 학습
지도학습부터 설명하겠습니다.
지도학습(Supervised Learning)은 데이터와 해당 데이터의 답을 함께 학습시키는 것입니다.
어떤 데이터 X1이 들어가면 Y1이 나와야된다는 것을 명시하는 것입니다.
Classification이나 Regression이 해당됩니다.
Classification은 범주형 데이터인 경우 사용됩니다.
Binary Classification(Lable이 2개인 경우) 과 Multi Classification(Lable이 여러개인 경우)으로 나눠집니다.
Decision Tree, Ensemble Learning, Support Vector Machine, K-Nearest Neighbor, Logistic Regression 모델 등이 있습니다.
Regression은 실수형 데이터를 나타내는 지표로써, 부동산, 주식, 매출 등에 사용됩니다.
해당 모델은 Linear Regression, Decision Tree, Ensemble Learning, Support Vector Machine, K-Nearest Neighbor이 있습니다.
그 다음, 비지도학습(Unsupervised Learning)은 답이 없이 그냥 데이터만 학습시키는 것입니다.
군집과 연관이 해당됩니다.
분류 vs 군집
분류는 명확한 구분이 있고, 군집은 명확한 구분없이 특징이 비슷한 것끼리 모은 그룹형태입니다.
세 번째, 준지도학습(Semi-Supervised Learning)은 지도학습과 비지도학습 중간입니다.
어떤 부분은 lable이 있는 지도학습을 하고, 나머지 부분은 lable이 없는 비지도학습을 시킵니다.
근데 왜 이렇게 하는가 하면은
위 그림을 보면 검정색으로 해당되는 부분은 각각 있습니다. 이것들을 Soft Lable된 상태라고 하는데, 같이 있는 색깔일 확률이 높다는 뜻입니다. , 빨간색 부분에 해당되는 검정색 부분은 빨간색일 확률이 높다는 뜻입니다.
Supervised Learning같은 경우는 Decision Boundary가 optimal하지 않을수도 있습니다. 하지만, Semi Supervised Learning은 정확한 Decision Boundary를 얻기 때문에 Classification 더 잘 될 수 있습니다.
마지막으로, 강화학습(Reinforcement Learning)은 에이전트가 환경으로부터 피드백을 받으면서 스스로 알고리즘을 생성합니다. 알파고가 이에 해당됩니다. 학습속도가 느리다는 단점이 존재합니다.
다음은 Bias and Variance에 대해서 설명드리겠습니다! 봐주셔서 감사합니다!
참고:
서울대학교 김건희 교수님 강의자료
'AI > 머신러닝' 카테고리의 다른 글
[ML 실습] 4일차 복습- 판다스 DataFrame(1) (0) | 2025.01.28 |
---|---|
[ML 실습] 3일차 복습- 넘파이 마지막, 판다스 시작 (0) | 2025.01.27 |
[LG AImers 6기] ML이론 - Bias and Variance (2) | 2025.01.23 |
[ML 실습] 2일차 복습- 넘파이 ndarray 인덱싱 (0) | 2025.01.18 |
[ML 실습] 1일차 복습- 넘파이 ndarray (0) | 2025.01.14 |