목차
Machine Learning이란? 분류 하기
위키피디아에서는 위 그림과 같이 AI > ML > Deep Learning 으로 관계를 정의합니다.
머신 러닝이라 함은 1959년에 Samuel에 의해 아래와 같이 정의합니다.
Machine Learning: field of study that gives computers the ability to learn
without being explicitly programmed
즉, 프로그램된 동작이 아닌 스스로 학습해서 행동하는 것을 머신 러닝이라고 합니다.
그 뒤에 Tom Mitchell 이라는 분이 1988년에 3가지 요소로 머신러닝을 다시 정의하였습니다.
- Learn from Experience
- With respect to some class of Tasks
- Performance measure
위 E, T, P에 의해 ML를 정의 하였습니다. 데이터(경험)을 통해 학습을 하고 학습을 통해 예측(업무)를 진행하고 결과(성능)을 측정해서 ML을 완결지었습니다.
ML분류하기
머신러닝은 그림과 같이 3가지로 나눠 집니다.
- 지도학습(Supervised Learning)
- 비지도학습(Unsupervised Learning)
- 강화학습(Reinforcement Learning)
위 분류별로 다시 정리하면 아래와 같습니다.
지도학습(Supervised Learning)에 따른 분류
지도 학습은 간단하게 말하자면 기존의 자료를 통해 학습을 시키고 특성(Features)을 파악하면 해당 학습을 통해 예측을 진행합니다.
지도학습은 그림과 같이 2가지로 나눠 집니다.
- 분류(Classification)
- 회기(Regression)
분류(Classification)은 Binary와 Multi Class처럼 개나 고양이와 같이 클래스로 나누고 이를 구분하는 학습니다.
회기(Regression)은 키와 몸무게 사이의 관계를 학습해서 특정 키에 대해 몸무게를 예측하는 것을 의미 합니다.
둘의 큰차이점은 분류는 이산(Discrete)하고 회기는 연속(Continuous) 데이터를 가지고 있습니다.
비지도학습(Unsupervised Learning)에 따른 분류
비지도학습은 그림과 같이 2가지로 나눠 집니다.
- 클러스터링(Clustering)
- 차원축소(Dimensionality Reduction)
클러스터링이란 주어진 데이터셋(Given Dataset)에서 유사성을 찾아서 묶어 분류하는 알고리즘입니다. 분류되어지는 클래스의 개수가 정해지지 않고 클래스에 이름(라벨링)도 설정되지 않습니다.
차원축소라함은 Manifold Hypothesis에 따라 사용될 수 있습니다. Manifold Hypothesis는 고차원의 데이터셋이 있어도 실제 유의미한 데이터셋은 저차원에서 처리할수 있다는 의미입니다. 그래서 고차원의 데이터를 저차원으로 줄여서 컴퓨팅 파워를 절약할 수 있습니다. 주의할 점은 거리(Distance) 정보가 차원에 따라 다르기 때문에 유의해야 합니다.
강화학습(Reinforcement Learning)에 따른 분류
강화학습은 앞서 지도/비지도와는 다르게 기술에 따른 분류는 있지만 대분류는 따로 없습니다.
강화학습이란 주어진 데이터셋(Dataset)으로 경험만을 하는 것이 아닌 주변의 환경과 Interact를 통해 학습하고 FeedBack을 받아서 Learning과 Experience 사이에서 최적의 방향을 찾는 방법입니다.
다음 포스트에서는 sklearn에서 제공하는 데이터셋 iris와 mnist, cifar10 로 실습을 진행해보겠습니다.
'파이썬(Python) > 머신러닝(Machine Learning)' 카테고리의 다른 글
[Python] 머신러닝 Keras MNIST, CIFAR10 데이터셋이란? 실습 (0) | 2023.03.13 |
---|---|
[머신러닝]데이터 세트(Dataset)란? sklearn iris 예제로 알아보기 (2) | 2023.03.12 |
[Python] sklearn 정규 분포 만들기(StandardScaler), 그래프 비교 (0) | 2023.02.16 |
[Python] sklearn 파이프라인(Pipeline) + ColumnTransformers (0) | 2023.02.14 |
[Python] sklearn ColumnTransformer이란? 예제 실습(SimpleImputer, fit_transform) (0) | 2023.02.07 |