본문 바로가기

LAB/AI

딥러닝(1) 인공지능의 분류, 지도 학습 구현 기법

728x90
반응형

 

 

1. 인공지능 

 

인공지능이란 사람처럼 생각, 추론, 학습할 수 있는 지능 시스템을 말한다. 머신러닝이란 인공지능의 하위 분야로 기계가 스스로 학습하여 지능을 습득하는 기술이다. 일반적인 알고리즘은 규칙에 따라 행동하는 반면, 머신러닝은 '데이터'로부터 학습, 훈련을 통해 스스로 규칙을 찾는 셈이다. 딥러닝은 머신러닝의 하위 분야로, 인공 신경망을 사용하는 경우를 말한다. 

 

 

딥러닝과 머신 러닝의 비교

 

인공지능 계보

 

(1) 특징(Feature)

생성된 데이터(샘플)의 특징을 통해 머신러닝을 수행한다. 특징이란 어떤 물체를 구분할 수 있는 적절한 정보다. 머신러닝에서는 이렇게 취득한 정보를 통해 학습, 결과를 도출한다.  

 

(2) 분류(classification)

대표적인 머신러닝은 분류 문제다. 클래스(class)에 맞게 분류하는 것을 의미하며, 둘 중 하나로 분류할 때에는 이진 분류라고 칭한다. 

 

 

2. 머신러닝의 세 가지 분류와 특징

 

1) 지도 학습

레이블이 붙은 데이터, 결과 미래 등에 대한 추정, 추정에 대한 피드백(명확한 오차) label이라는 정답 데이터를 알고 있다. 이로부터 즉각적인 feedback을 받으며 학습한다. 현재의 data들을 바탕으로 미래를 예측, 정답이 있는 결과를 맞추는데에 목적이 있다. 대표적으로 분류(Classification)를 예로 들 수 있다. 

 

2) 비지도 학습

레이블 없는 데이터, 추정에 대한 피드백 없음, 데이터에 담긴 의미 찾기. 정답에 해당되는 Label이 없다. 따라서 즉각적인 feedback을 받을 수 없다. 대표적으로는 Clustering과 같은 방법론들이 비지도 학습에 해당된다. 

 

3) 강화 학습 :

결정을 위한 학습(보상의 최대화), 시스템의 최적 제어 -> 즉, 동적 환경. Label은 없지만, 환경으로부터 주어진 [reward, 보상]을 통해 action을 학습한다. reward도 label로 보는 견해가 있으나 [환경과 상호작용을 한다]는 측면에서 이 둘은 다르다. 

 

 

3. 딥러닝의 장단점

 

(1) 장점

[1] 함수 근사 능력이 뛰어나다. (비선형 함수의 근사 능력 뛰어남) [2] 특징을 자동으로 추출한다. 가중치 값을 자동으로 부여한다. [3] 모델의 확장성이 뛰어나다. 뉴런 수를 늘리거나, 병렬 처리를 함으로써 대규모 모델 학습 가능. [4] 기존의 머신러닝보다 좋은 성능을 보인다. 

 

(2) 단점

[1] 파라미터가 많기 때문에 다른 머신러닝 모델보다 상대적으로 많은 학습 데이터가 필요하다. [2] 훈련을 위한 시간과 비용이 많이 소요된다. 사전에 학습된 모델을 이용해서 학습하는 대체 방식 등장. [3] 설정 파라미터가 많아서 최적의 모델과 훈련 방법을 찾으려면 상당히 많은 검색, 튜닝 시간이 필요하다. [4] 인공 신경망은 오류 파악 및 디버깅이 어렵다. [5] 지도 학습에서는 타깃 데이터를 만들 때 드는 비용이 만만치 않다. 그래서 생성 모델을 이용, 훈련 데이터 생성. 

 

 

4. 선형회귀(Linear Regression)

 

종속 변수 : 추정의 대상이 되는 변수, 독립 변수 : 추정에 사용되는 변수

대부분 회귀 및 분류 모델은 [종속 변수의 추정 오차에 관련된 손실함수]를 정의하고, [손실함수를 최소화]하는 것을 목표로 [모델 내부의 parameter들을 조정]한다. 손실 함수는 선형회귀에서는 주로 제곱합 오차(Squared Sum of Errors), 혹은 이 값의 평균(MSE)을 차용한다. 데이터들을 일반화해 표현하는 직선을 하나 그을 때, 그 선이 데이터들을 모두 통과하진 못할 수 있다. 그렇다면 직선과 점들의 거리를 제곱해 합한 값이 최소가 되도록 하는 직선을 찾자. 이는 오차를 최소화하는 결과를 얻는 모델이므로, 선형 회귀 모델 = 최소 제곱합 모델이라고도 부른다. 

 

 

 

5. 그 외, 지도 학습에서 사용되는 다양한 모델들

 

(1) 단계적 회귀(Stepwise Regression) 

선형 회귀 모델을  형성할 때, 주어진 독립 변수들을 유의한 순서로 적정 수준까지 모델에 넣는 과정

 

(2) K 최근접 이웃 기법(K-Nearest Neighbor)

데이터셋을 기억하고 있다가, 새로운 입력이 주어졌을 때 입력 공간에서 가장 가까운 데이터들을 참고해 새로운 출력을 추정하는 기법이다. 

 

(3) 결정트리(Decision Tree)

다양한 순차적 분류 기준을 적용해 데이터를 분류하는 기법

 

(4) 서포트 벡터 머신(SVM) 

데이터셋을 가장 효율적으로 분류하는 기준(하이퍼플레인)을 수학적으로 도출해 이후의 데이터를 분류하는 기법

 

 

6. 오토인코더

 

인공 신경망을 사용한다. 데이터 값을 가지고 직접적으로 효과적인 압축방법을 얻어내는 것이 아닌, 적절한 구조와 손실함수를 선택해 변환된 결과가 효율적으로 원래 데이터의 의미를 담도록 노력하는 알고리즘. 그림의 생성, 고화질화, 노이즈 신호 제거, 데이터 전처리 등에 사용된다. 

 

 

 

 

출처: [케라스로 완성하는 인공 신경망 기본기], 이준 지음

출처 : [Do it! 딥러닝 교과서], 윤성진 지음 

출처 : https://www.youtube.com/watch?v=J6wehCO_c58&list=PLJN246lAkhQjoU0C4v8FgtbjOIXxSs_4Q

 

728x90
반응형