본문 바로가기

기사/블로그 스크랩

10 Machine Learning Algorithms Explained to an ‘Army Soldier’

다음은 기계학습 알고리즘들을 군인에게 설명하기위해 전쟁에 비유해 설명한 기사이다. 

원문 : http://www.analyticsvidhya.com/blog/2015/12/10-machine-learning-algorithms-explained-army-soldier/


Note: The objective of this article is to help people learn machine learning in a fun and interesting way. You’ll also notice every algorithm has its own special situation where it is used.



Intro는 건너 뛰겠다.


머신러닝의 범주에는 3가지가 있다.


지도학습 : 전쟁을 하고있고 당신에게 오는 모든 적들을 죽일때까지 멈추지 않는다. 이것은 선형회귀, 로지스틱회귀, 의사결정나무, 랜덤포레스트 등의 알고리즘들을 포함한다.


비지도학습 : 당신의 라이벌이 당신에게 전쟁을 선포했다. 당신의 강점들과 단점들을 평가해본후에 전쟁을 할건지 아니면 항복을 할건지 정해야 한다. 이것은 K-means나 Apriori 등의 알고리즘들을 포함한다.


강화학습 : 당신은 전쟁선포를 받아들였다. 전쟁이 막 시작되었는데, 매 시간마다, 당신의 전장에서의 현 상황을 평가하고 있다. 당신은 아군을 잃고 있는가? 적군이 이기고 있는가? 그리고 이에 맞춰서, 당신은 전쟁을 지속할지 항복할지를 결정한다. 이것은 Markov decision process같은 알고리즘을 포함한다.


앞으로의 알고리즘은 일반적으로 기계학습에 쓰이는 알고리즘들이다.


이 알고리즘들은 데이터셋과 싸우는데 사용되는 무기일 뿐이다. 당신의 무기고를 세우기 위해 무기들을 잘 다루는지 반드시 확인하여라. 나의 무기고에는 10개의 무기들이 있다. 당신은 몇개를 가지고 있는가?


1. Linear Regression


선형회귀는 완벽히 당신의 적진을 점령할 것이다. 일단 당신이 전장에 들어가면, 뒤를 돌아보지 말라. 오직 당신이 납득이 갈 정도로 모든 적들을 죽였을때만 쉬어라.


2. Logistic Regression


로지스틱 회귀는 극단적으로 단순화한 가정을 하고 교전을 할지 말지(죽일지 말지)를 정한다.


3. Tree Based Modeling


이것은 의사결정나무, 랜덤포레스트를 포함한다. 나무기반모델링은 나누고 지배한다. 당신은 적군들을 어떤 현명한 전략으로 나누고 그들을 죽인다.


4. Bayesian Modeling


베이지안 모델링은 공중전, 육지전, 수중전같은 다른 격전지들의 타입에서 이길 확률을 고려하는 것이다. 그에 따라 전투의 전반적인 결정을 내린다.


5. Support Vector Machines


SVM은 당신에게 유리한 지리적 위치를 가진 영역과 그 경계를 그린다. 예를 들어, 당신의 병사들은 사막, 산지, 평지 같은 특정구역에서 싸우는데 능숙할 수도 있으므로, 그에 따라서 교전을 한다.


6. KNN( K Nearest Neighbour)


KNN은 과거의 결과를 체크하고 그에 따라 맵핑을 한다. 과거의 교전에서의 당신의 성과를 평가하고, 당신이 우세한 지역과 약세한 지역에 대해 심사숙고 한후에, 그에 따라서 다음 전투를 준비한다.


7. K-means


K-means 는 같은 사상, 목적들 그리고 동기들을 공유한 지역세력들과 동맹을 맺는것이다. 이 생각은 이전보다 훨씬 더 강력한 것이 된다.


8. Neural Network and Perceptrons


인공신경망은 당신부대의 모든 군인이 누구와 싸워야 할지를 결정하는 것이다. 군인들이 적군들을 향해 달려갈때 일어나는 상황을 상상하고 즉각적으로 어느 적군과 싸울건지를 정한다. 기본적으로 모든 군인들은 더 약한 적군과 싸우기를 선호하여(관찰하고 분석하여) 그 결과 그는 빠르게 될 수 있는한 만은 적을 죽일 수 있다. 전반적으로, 이 전략은 전체 부대의 성과에 영향을 미칠 것이다.


9. Ensemble Modeling


앙상블 모델링은 한 부대가 다양한 전투들에 능숙한 사람들(용병)로 구성된 때를 말한다. 예를들어 궁수, knife fighting , 검객들, 사격수들 등등. 이 사람들은 적에게 승리한다는 일반적인 동기를 공유합니다.이 모든 사람들이 뭉쳐있을때 가공할만한 위력을 가진 부대를 만들어냅니다.      


10. Anomaly Detection


Anomaly Detection은 당신의 부대에서 나타나는 비정상적인 패턴들을 체크하는 것이다. 당신은 아군중에 첩자가 숨어 있을지도 모를 것이다. 주기적인 체크를 하여라.