-
머신 러닝의 개요 - introProgramming & Machine Learning/풀어쓰는 머신러닝 2017. 7. 29. 11:29
머신 러닝 개요
1. 머신 러닝의 유형
머신러닝은 크게 비지도학습, 지도학습, 강화학습으로 분류된다. - 지도학습은 또다시 분류, 예측등으로 나뉘게 된다. 회귀를 기준으로 분류를 설명할 때, 회귀선이 바로 분류의 기준이 되는 선을 의미한다. 연속형 결과를 예측하는 경우에서는 회귀선이 예측의 함수를 의미한다. - 강화학습은 상호작용을 기반으로 자신의 성능을 개선하는 학습구조를 의미한다. 행위를 보상함수로 잘 측정할 수 있는 측정 기준에 관한 것이 강화학습에서의 피드백, 즉 보상 신호이다. - 비지도학습은 주로 은닉 구조를 발견하는 용도로 사용된다. 이미 알려진 결과변수나 레이블, 보상함수의 도움을 받지 않고서도 데이터에서 의미있는 정보를 추출해낸다. 군집분석이 가장 대표적인 예로, k-means 등의 알고리즘이 있다. - 빅데이터의 feature가 많기 때문에, 머신러닝에서 데이터의 차원을 낮춰주는 작업이 굉장히 중요하다. 데이터의 차원을 낮춘다는 것은 의미있는 데이터만을 사용한다는 것과 일맥상통하다. 즉, 여러개의 변수를 축소시키고, 대표적인 변수를 추출한다. 즉, 기존의 여러개의 변수들을 대표하는 변수들만 이용한다. - PCA등으로 대표되는 차원 축소는 비지도학습의 영역에 속한다. PCA는 아이겐벨류를 생성하여, 변수를 대표하는 정보들을 추출하여 벡터로 표현하는 것인데, 대부분 이러한 아이디어로 차원 축소가 운용된다. 이 원리에서 한 단계 더 나아가면, 커널 기법이 된다. 주성분분석, PCA, 커널 기법은 전부 데이터 차원 축소 기법들을 의미하는 것이다.
2. 머신 러닝의 기초 용어
- instance : table 데이터의 행의 개념, 즉 objects를 의미한다. - feature : 변수. 여러 가지 말로 불리지만 피처라는 말이 가장 일반적이다. - 레이블, 원시데이터, 훈련데이터, 테스트데이터 등
3. 인공신경망과 딥러닝의 차이점
인공신경망과 딥러닝의 기본적인 아이디어는 같다. 인공신경망이 발전한 것이 딥러닝이기 때문에 사실 둘의 차이점을 구분하는 것이 무슨 의미가 있겠냐마는, 문제를 해결하는 방법이 약간은 다르기 때문에, 이를 알고 넘어가는 것은 제법 의미가 있는 것 같다. 인공신경망이나 딥러닝을 하는 방법에서의 문제점은 단연 오버피팅 해결과 계수 업데이트의 문제일 것이다. 딥러닝은 인공신경망의 레이어가 많아지는 것이다. 또한 계수 업데이트에서 사라지는 시그널 없이 진행이 되고, 오버피팅을 안정적으로 해결한다는 것이 현재 유행하는 딥러닝과 전통적인 인공신경망의 차이점이다. (이를 배니싱 그래디언트, 드롭아웃 이라고 부른다) backpropagation이 발전하고, ReLU 등의 활성함수의 발견으로 가중치 업데이트 문제가 매우 향상되었다. 또한 Dropout등의 기법으로 뉴런들의 오버피팅을 방지하는 것이 아주 효율적으로 변모하였다. 그 외에도 커널 기법의 적용, 강화학습 등 여러 변화와 차이점들이 있겠지만, 요즘 추세의 딥러닝과 전통적인 인공신경망의 차이를 이해하는 키워드는 이정도면 충분할 것이다.
마지막으로 머신 러닝, 그 중에서도 딥 러닝의 핵심이 되는 내용을 이미지로 정리해 보았다.
python machine learning이라는 책으로 머신러닝 개념을 다시 공부중이다.
대략적으로 머신 러닝의 개요를 다시 잡아봤는데, 머리속에 떠도는 개념도 이런식으로 글로 표현하면 더욱 정리되는 느낌이라 좋다.
'Programming & Machine Learning > 풀어쓰는 머신러닝' 카테고리의 다른 글
선형판별분석(LDA)로 차원 축소하기 (0) 2017.08.10 차원 축소, 차원의 저주에 관하여 (2) 2017.08.10 뉴럴넷에서의 오버피팅과 해결책 (0) 2017.08.03 배치 방식과 온라인 방식의 모델 학습 (0) 2017.08.03 주성분분석(PCA)로 차원 축소하기 (0) 2017.08.02 댓글