Biotechnology

02. Machine Learning의 분류 본문

생명공학 전공지식/Machine Learning

02. Machine Learning의 분류

로얄블루 2018. 6. 19. 08:52

안녕하세요,


로얄블루입니다. 



오늘도 이어서 'Machine Learning' 에 대해


Andrew Ng 교수님의 Coursera 수업의 내용을 


가공하여 포스팅하도록 하겠습니다. 



02. Machine Learning의 분류



저번 포스팅으로


Machine Learning (기계학습)에 대해서 간략하게 살펴봤습니다.


보러가기 : http://biotech-lab.tistory.com/entry/01-Machine-Learning%EC%9D%B4%EB%9E%80





오늘은 


Machine Learning의 분류에 대해서 소개해보고자 합니다. 






Machine Learning은 


정적인 상태에서 정답이 있는가, 없는가에 따라 나뉘어지는 2가지와,


동적인 상태에서 학습을 진행하는 경우를 포함하여


총 3가지로 분류할 수 있습니다. 






출처: http://solarisailab.com/archives/1785 (솔라리스 연구소)








첫번째는 Supervised Learning (지도학습) 입니다. 



Supervised Learning은 


Right Answer가 존재하는 상황에서 진행됩니다.


이미 데이터 집합이 있고, input에 대한 올바른 output이 


존재하는 상황에서 적합합 학습 방법이라 할 수 있습니다.



input과 output 사이의 관계식을 찾는 것이 핵심이라고 할 수 있습니다.


우리가 학창시절에 배웠던 함수와 비슷한 방식으로 말이죠. 



더 세부적으로 들어가면,


Supervised Learning


Regression(근사)와 Classification(분류)로 나눌 수 있습니다. 




Regression 


연속적인 Output으로 결과를 예측하는 것으로,


쉽게 말해, Output의 값이 얼마인가를 예측하는 방식입니다. 




그렇기 때문에, input이 들어왔을 때, 


연속적인 함수 형태로 mapping이 가능하다고 말할 수 있습니다. 



빨간 선으로 된 연속함수의 추세선을 통해


결과를 예측하는 것이 Regression이라 할 수 있습니다.








Classification


결과를 별개의 (discrete) output으로 인식하여 예측하는 것으로,


output이 0 아니면 1 처럼 분류된 결과를 예측하는 방식입니다. 





빨간 원을 0, 초록 십자가를 1로 두고 분류를 하고 예측을 할 때,


이를 Classification을 통해 예측한다고 말할 수 있습니다. 




두번째는 Unsupervised Learning (비지도학습) 입니다




Unsupervised Learning


묶음(Cluster)으로 묶어서 구별하는 방식을 말합니다. 






여러 캐릭터들이 있을 때, 


오리 캐릭터인 것과 아닌 것으로 묶음을 통해


둘을 구분할 수 있는 것처럼요.




그렇기 때문에, 


데이터 집합을 동일한 위치에 있는 것끼리


묶어서 묶음(Cluster)을 생성해 구분했을 때,


Unsupervised Learning을 했다고 말합니다. 




Unsupervised Learning을 


더 세부적으로 구분하자면


Clustering (묶음)Dimensionality Reduction (차원 낮추기)로 


나눠질 수 있습니다.



앞에서 설명한, 


묶음을 통해 구분하는 방식을 Clustering (묶음)이라고 합니다.  







그렇다면 Dimensionality Reduction(차원 낮추기)는 무엇일까요?




우리 조상님들은 과거부터 알고 있었습니다. 


100번 듣는 것보다 1번 보는 것이 낫다는 사실을요. 




데이터를 눈으로 보는 이유는 간단합니다.


을 통해서 무엇인가를 보면


영감 또는 직감 등을 통해서


데이터 상에서는 알지 못했던 것을 알 수 있게 해주니깐요.




데이터의 차원은 이론상 무한대로 만들 수 있지만, 


우리의 눈은 3차원의 물체 혹은 형상밖에 볼 수 없습니다.



그렇다면 데이터를 으로 보기 위해서는 


차원을 3차원으로 만들어야만 합니다 .




즉, 으로 보기위해서 


의미가 있는 데이터만을 추려내 가공하는 방법을 



Dimensionality Reduction(차원 낮추기)라고 합니다.


여기서 의미있는 데이터만을 추린다는 말은


꼭 데이터를 온전한 상태로 남긴 의미가 아닙니다.


데이터를 가공하여 의미을 최대한 살린다는 의미입니다.




예를 하나 들겠습니다.


A와 B를 구분하기 위해서 


100차원을 가진 데이터를 3차원으로 만든다고 가정합니다.


그러면 100차원의 데이터 상에서 


가장 Variation이 높은 축(Axis) 3개로 데이터를 


투영(Projection)시켜서 새로운 데이터 축을 가진 데이터로 만듭니다.


가장 차이가 많이 하는 축들을 고른 이유는


A와 B를 구분하려면


데이터가 차이가 날수록 유리하기 때문입니다. 



이 방법을 


Dimensionality Reduction(차원 낮추기)라고 합니다.





 





세번째는 Reinforcement Learning (강화학습)입니다. 



강화학습은 다른 두 방법에 비해서


비교적 최근에 등장한 방법입니다.




강화학습은 


상호작용을 통해 목표를 달성하게하는 방법을 


배우게 하는 학습방법입니다. 



어떠한 규칙이나 정책(Rule or Policy) 안에서 


특정 행위에 대해 보상을 주는 방식으로


원하는 목표가 이뤄지도록 하는 학습방법이라 할 수 있습니다. 








우리가 알고 있는 알파고는 


스스로 학습해서 


그것에 대한 평가방식을 통해 


막강한 바둑 실력을 갖추게 되었습니다.



쉽게 해석하자면 자기가 둔 바둑을, 자기가 해석을 하는 방식으로 말이죠. 





인공지능이 


스스로 현재의 환경을 인식하고 행동하며


목표를 향해 발전하여


달성하게끔 해주는 것이 


강화학습입니다. 




이 방법은 


앞에서 언급한 


Supervised LearningUnsupervised Learning과는 


매우 큰 차별점을 가지고 있습니다.





앞의 두 방식은


새로운 환경을 인식하지 못하기 때문에,


목표 달성 과정을 


인간(전문가)이 하나하나 모델링을 통해 


구현해야 합니다. (정말 귀찮습니다.)




그러나 강화학습은


Rule이 잘 정립되어 있다면, 


새로운 환경을 스스로 인식하기 때문에


우리가 생각하는 인공지능에 더 가깝다고 할 수 있습니다. 




By Siddharth Rajsekar 

Link: http://www.humanengineers.com/guest_speaker/ai-art-can-machines-replace-humans-creativity




인공지능의 시대!


우리는 이미 들어와 있다고 생각합니다.






모두 즐거운 일만 가득하길 바라면서


이상으로 오늘의 포스팅을 마치도록 하겠습니다. 




출처 :  https://www.coursera.org/learn/machine-learning


'Machine Learning' in Stanford University, Prof. Andrew Ng 


Comments