티스토리 뷰
1. 머신러닝이란?
- 기계학습 또는 머신러닝은 기계(컴퓨터)가 학습을 할 수 있도록 하는 연구분야.
- 인공지능을 소프트웨어적으로 구현하는 머신러닝(Machine learning)은 컴퓨터가 데이터를 학습하고 스스로 패턴을 찾아내 적절한 작업을 수행하도록 학습하는 알고리즘
- 머신러닝 시스템(ML)은 관측데이터 D로부터 성능지수P를 최적화하는 모델 M을 자동으로 만드는 기술이다
- 데이터는 환경과의 끊임없는 상호작용을 통하여 축적된다.
- Google Assistant, Apple Siri, IBM Watson… 등 머신러닝을 사용하여 다양한 도메인의 지식 습득 및 실제 문제의 해결에 적용.
- 형식화 하여 정의? “환경(Environment)과의 상호작용을 통해서 축적되는 경험적인 데이터(Data)를 바탕으로 지식, 즉 모델(Model)을 자동으로 구축하고 스스로 성능(Performance)를 향상하는 시스템이다.
2. 머신러닝이 왜 중요할까?
- 빅데이터 : 머신러닝이 효과적이기 위해서는 많은 양의 학습 데이터가 필요. 최근 모든 정도의 디지털화를 통해 빅데이터가 확보되었으며, 머신러닝은 빅데이터를 활용하여 성능을 향상 할 수 있는 좋은 방법이다.
- 컴퓨팅 성능의 향상 : 머신러닝 알고리듬은 일반적으로 많은 계산 시간을 필요로 하는데, 최근 하드웨어 발달을 통해 수행 시간이 매우 단축됨
- 다양한 서비스로의 직접적인 연결 가능 : 모바일 기기가 보급됨에 따라 사용자의 데이터를 실시간에 수집하는 것이 가능하게 되었고, 해당 데이터를 학습함으로써 다양한 서비스를 소비자에게 직접 제공할 수 있따.
- 기업체 관점에서 직접적인 비즈니스 가치를 창출 할 수 있다.
3. 지도학습, 비지도학습, 강화학습 차이
- 지도학습
- 회귀? 연속성을 갖는 응답 변수를 학습하고 예측하는 것. Ex) 집값 예측
- 분류? 긍정/부정 같은 감성 분석이나 채무 불이행 예측 같은 적절한 클래스 레이블을 찾는것을 목표로 함.
- 머신 러닝 안에서는 데이터에 정답 정보가 결합된 학습 데이터(또는 훈련 데이터)로 데이터의 특징을 모델링하는 것.
- 레이블 데이터 이용
- 지도 학습을 회귀와 분류로 조금 더 세분화할 수 있다.
- 회귀에 사용되는 모형(레이블이 연속형)
- 1. 선형회귀분석(Linear Regression)
- 2. 의사결정트리(회귀트리모형)
- 3. SVR(Support Vector Regression)
- 4. 신경망 모형
- 5. Ridge , Lasso
- 분류에 사용되는 모형(레이블이 범주형)
- 로지스틱 회귀분석
- 신경망 모형
- 의사결정트리(분류트리모형)
- KNN(K 최근접 이웃 알고리즘)
- 앙상블 모형
- SVM(Support Vector Machine)
- 나이브 베이즈 분류
- 회귀에 사용되는 모형(레이블이 연속형)
- 비지도학습
- 학습 데이터에 첨부된 설명 없이 직설적으로 나타내는 신호만 있을 때, 데이터 내면에 있는 구조를 찾고 숨겨진 정보를 발견하고 데이터를 어떻게 설명할지 결정하는 것은 우리의 몫
- 비지도 학습은 위조 됐거나 손상된 장비같은 이상 결과를 추적하는데 사용
- 마케팅 활동을 위해 유사한 온라인 행동 패턴을 지닌 고객을 그룹화하는 데에도 쓰임.
- 비지도 학습의 유형 --> 군집에 사용되는 모형, 차원 축소에 사용되는 모형, 연관분석에 사용되는 모형
- 군집에 사용되는 모형
- 1. K-Means
- 2. SOM
- 3. DBSCAN(밀도기반군집)
- 4. 병합군집
- 5. 계층군집
- 차원 축소에 사용되는 모형
- PCA(주성분분석)
- LDA(선형판별분석)
- SVD(특잇값 분해)
- MDS(다차원 척도법)
- 연관분석에 사용되는 모형
- Apriori
- 군집에 사용되는 모형
4. 머신러닝 문제 진단하기
- 머신러닝에서 더 많은 데이터는 적은 데이터를 이기고, 더 좋은 피쳐(feature)는 더 좋은 알고리즘을 이긴다.
- 피처 사이의 독립성을 극대화하고 다른 외부 조건에 따른 변화를 최소화하도록 피처를 잘 설계하면 모든 알고리점에서 잘 작동한다.
5. 머신러닝 알고리즘의 역사
- 시대에 따라 인기가 많았던 머신러닝 알고리즘은 모두 다름.
- 알고리즘은 크게 로직기반학습, 통계기반학습, 인공신경망, 유전자 알고리즘이라는 4개의 영역으로 분류 가능
- 로직기반시스템?
- 초창기에 많이 사용
- 전문가를 통해 만들어진 룰을 사용했으며, 이 룰을 이용해서 시스템은 정형로직, 배경지식, 가설 등을 추론하는데 중점을 둠
- 인공신경망(ANN)
- 1990년대에 통계 기반 학습 시스템에 의해 밀려날때까지 주류
- 입력과 출력간의 복잡한 관계를 모델링하고, 데이터에 담긴 패턴을 찾아내는 것을 목표로 함
- 유전자 알고리즘(GA)
- 생물학적 진화를 흉내낸 것으로 돌연변이와 교배 같은 방법을 사용해서 최적의 솔루션 사용
6. 딥러닝과 머신러닝의 차이
- 머신러닝 & 딥러닝 모두 모두 학습 모델을 제공해 데이터를 분류하는 데 사용되는 기술
Machine Learning |
Deep Learning |
|
|
* 프로그래밍 방식과의 차이점.
- 소프트웨어 관점에서 일반적인 컴퓨터 프로그램 VS 머신러닝 프로그램
- 머신러닝 프로그램은 데이터를 주고 이를 실행하면 다른 프로그램을 출력으로 생성, 생성된 프로그램은 다시 컴퓨터에 실행하며 임의의 문제에 대한 답을 준다.(Automatic Programming) 방식
- 이때 학습시스템이 “환경”,”데이터”,”성능”의 구성요소로 되어 있다.
- “환경” : 학습시스템이 독립적으로 존재하는 것이 아니라 서로 상호작용하는 대상이 있음을 의미, 상호작용의 방법에 따라 경험하는 “데이터”의 형태가 다르다.
- 학습시스템은 문제 해결을 위한 수행 시스템과 연결되며 시간의 경과에 따라서 수행의 “성능”이 향상되는 특징을 가진다.
'인공지능 > 머신러닝' 카테고리의 다른 글
[ML Algorithm] 인공지능 - 유전 알고리즘 (0) | 2019.10.16 |
---|---|
그래프 이론 (0) | 2019.10.16 |
머신러닝 알고리즘 - 서포트 벡터 머신(Support Vector Machines) (0) | 2019.10.16 |
머신러닝 알고리즘 - XGBoost(eXtreme Gradient Boosting) (1) | 2019.10.15 |
[ML Algorithm] Gradient Boosting Machine (0) | 2019.10.15 |
댓글