일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 기계학습
- 시계열
- r
- 가나다영
- hadoop
- 에이블러
- Ai
- 빅분기
- kaggle
- 한국전자통신연구원 인턴
- 웹크롤링
- dx
- 소셜네트워크분석
- arima
- 머신러닝
- 하둡
- httr
- 딥러닝
- matplot
- ML
- kt aivle school
- 빅데이터분석기사
- KT 에이블스쿨
- ggplot2
- 지도학습
- SQL
- KT AIVLE
- Eda
- 에이블스쿨
- 프로그래머스
- 서평
- SQLD
- python
- cnn
- 한국전자통신연구원
- 시각화
- ETRI
- 하계인턴
- 다변량분석
- 에트리 인턴
Archives
- Today
- Total
소품집
[ML/DL] Data mining introduction 본문
728x90
Machine Learning?
원초적인 이야기부터 하자면, 아이는 어떻게 말할 수 있게 된 걸까요? 주변에서 '반복'하여 들려주는 다양한 말을 '학습'하게 되는데요. 즉, 학습과 경험을 통해 쌓은 데이터로 말이죠.
기계학습은 학습법에 따라 네 가지로 분류할 수 있습니다.
Different kinds of learning
Supervised Learning (지도학습)
- 모델 학습을 위해 '정답'이 주어진 데이터가 필요
- 정답이 주어진 데이터를 '분류'하는 작업에 이용 → Classification
- 대표적인 분류모델
- Decision Trees
- Neural networks
- support vector machines
Unsupervised Learning (비지도학습)
- 모델 학습에 '정답' 필요없음
- 데이터만 있으면 학습이 가능
- 데이터를 '군집화' 하는 작업에 이용 → Clustering
- 대표적인 군집화 모델
- Hierarchical clustering
- K-means clustering
- 주의! 모델 정량평가(성능평가)를 위해서는 결국 '정답'이 필요
Semi-supervised
- 일부 데이터만 '정답'이 존재
- 정답이 없는 데이터도 학습에 도움이 될 것이라는 가정
Reinforcement
- 행동(선택) → 보상(혹은 패널티)
- 더 큰 보상을 얻는 방향으로 학습 진행
Learning 종류 비유
Feature
- Feature == Attribute
- '사람'의 feature
- 키, 머리카락 색, 성별, 나이, 직업
- Feature는 여러가지 Data type일 수 있음
- Categorical (Normal) - 직업: 경찰, 의사, 청소부
- String - 이름, 주소
- Number - 나이
- Real-Number - 키, 몸무게
빌려줄지 말지를 판단해보기 위해 예시를 보면서 설명할게요.
이 데이터를 보고 feature를 추가하려합니다.
그럼, 새로운 feature로 '머리카락 길이'를 넣는다면, 과연 적절한 걸까요?
- Feature 개수 (feature dimension)
- 문제에 따라 수백~수만개 이상이 될 수 있음 → but, 지양하진 않음
- Classification의 경우, label 개수(Class 개수)보다는 많은 것이 일반적임
- Data 개수보다는 적은 것이 일반적임
- Feature 정의가 어떻게 되었느냐에 따라, 일반적인 기계학습 모델의 성능은 엄청나게 차이날 수 있다!
- 즉, domain knowledge 혹은 전문 짓기이 요구됨
- ex) 일본어 문장에 대한 감정분석
- Feature를 무턱대로 늘리게 되면, curse of dimensionality (차원의 저주) 문제 발생
- 차원 증가 → 각 차원의 다양한 값들에 대한 조합 개수가 exponential 하게 증가 →그만큼 필요 데이터도 증가 (feature 개수가 Data의 수 보다 더 많게 되면 안되니까!)
- 차원에 비해 데이터가 너무 적으면 over fitting(틀렸는데 맞았다고 예측) 발생 가능성 증가
- Deep learning의 경우, feature를 자동으로 각 층에서 인지하게 됨
- 따라서, feature 정의 과정에 들어가는 노력이 매우 적음
- 하지만! 뭐든 공짜는 없죠. feature 정의에 시간을 들이지 않는 만큼, 파마레터 인풋 개수를 막대하게 늘려줘야 합니다.
그래서 답으로는, feature 정의를 잘 해주어야 일반적인 기계학습 성능은 올라가는 것으로 판단할 수 있습니다.
Model
기계학습의 목적은? 기계에게 배우게 하는 것 입니다. 많은 학습을 통해 새로운 데이터에 대해서도 문제를 풀 수 있도록 학습하게 됩니다.
- 그 기계의 실체 == '모델' (method)
- 일단, 모델 기본 개념은 별 것 아님
- 데이터 예시
1. 아래 모델 예시 중, 어떤 모델이 적합해 보이나요?
아마 첫 번째 모델식이라고 생각하셨을 겁니다. 일차함수의 선형성을 보여주고 있으니까요!
두 번째 식이 성립하려면, 이차함수로써의 변곡점이 있어야겠죠?
2. 그러면 두 모델 중 어느 모델이 더 복잡해 보이나요?
첫 번째 모델은 차원이 a,c 두 개, 두 번째 모델은 차원이 a, b, c 총 세개로 두 번째 모델이 더 복잡합니다.
Parametric, Non-Parametric
- 비지도학습 모델을 Parametric, Non-Parametric로 나눌 수 있음
- Parametric : 주어진 데이터가 '어떤 분포'로부터 생성된 건지 가정
- 즉, '모델'을 가정하는 것이므로, 파라메터를 통해 문제 접근
- Non-Parametric : '어떤 분포'인지조차도 가정이 없고, 파라메터 개수가 변하기도 함 (ex: 데이터가 많아짐에 따라 파라메터들도 많아지기도 함)
- 순수 빈도수 기반 접근 (ex: 순위합검정), KNN 알고리즘 등
Generative, Discriminative
728x90
'AI' 카테고리의 다른 글
[ML/DL] PCA, SVD, Linear Discriminant Analysis (0) | 2020.05.01 |
---|---|
[ML] Linear classification, regression (선형회귀) (0) | 2020.04.23 |
[ML] Gaussian Naive Bayes와 Bayesian Networks (0) | 2020.04.15 |
[ML] 나이브 베이즈 정리 (0) | 2020.04.12 |
[ML] Decision Tree (의사결정 나무) (0) | 2020.04.04 |
Comments