데이터분석/Machine Learning 45

일반인을 위한 머신러닝(4) - 선형대수

머신러닝을 더욱 쉽게 이해하기 위해서는, 선형대수(Linear Algebra)에 대한 이해가 선행되어야 한다. 문과생들이라면 아예 귓동냥으로만 들어봤지 아예 생소한 과목일지도 모르겠는데 '모든 수학과 공학의 뼈대' 라고 부르는 공대과목의 꽃이라고 한다. 따라서 대충 아무 공대생들이 모두 아는 쉬운 개념이라고 생각하고 접근해보자. 사실 수학이 레벨업이 될수록, 고등학교때 한번씩 짚어봤던 문제를 조금 더 어렵고 있어보이는 단어로 바꾸고 추상적인 개념으로 바꾸는 과정이라고 할수 있을터인데, 마찬가지로 이 포스팅에서도 직관적으로 아는 시시한 개념이 어떻게 모르는 단어로 그럴듯하게 포장되어있는지에 대해 최대한 간단하게 이해만 하고 넘어가면 될것이다. 일단 행렬(Matrix)에 대한 이해가 필요하다. 행렬은 데이터..

일반인을 위한 머신러닝 (3) - Cost Function 비용함수

이제예측된 추론결과가 얼마나 파워풀한지를 따져봐야한다. 전에 보았던 지도학습에서 나이와 섹시함에 대한 선형함수를 그렸던 것이 기억나는가? 물론 나이를 먹을수록 섹시함이 늘어난다는 가정은 별로 상식에 벗어나 있지만, 어쩌다 보니 위와같은 직선의 함수가 나왔다고 치자. 그렇다면, 이 직선의 함수가 얼마나 효용성이 있는가는 각 데이터가 표시하고 있는 곳에서 얼마나 멀리 떨어져있는지 거리를 측정한 후 그것을 적당히 합해서 평균친 결과일 것이다. 여기서 바로 다음과 같은 Cost Function의 공식이 나온다.Hypothesis 의 식은, 바로 위의 추론식을 나타낸다. 기본적인 y절편값이 있고 선형적으로 증가한다.결국 Cost Function이란, 위와같은 그래프에서 얼마나 점들이 추론식에 가까이 붙어있는가 (..

일반인을 위한 머신러닝 (2) - 지도/비지도학습

컴퓨터가 아무리 알아서 한다 치더라도 뭔가 공부를 하라고 누군가가 말해줘야 한다. 학창시절을 떠올려보자. 누군가 공부라고 하기 전까지는 절대 공부하지 않았다. (물론 저는 예외에요.) 그런데 컴퓨터에게 공부하라고 하는 명령을 내려야 하기는 하는데 어떻게 내려야 할까? 뭔가를 초기조건으로 불을 붙여줘야 얘가 혼자 타올라서 열심히 공부하든 아니면 마지못해 눈높이 수학이라도 풀든 하지 않겠는가. 이러한 것들에 대해 머신러닝은 두가지 방법이 있다. 지도학습(Supervised)과 비지도(Unsupervised) 학습니다. 지도학습은 컴퓨터에게 '이게 맞는 답이야~ 알았지? 이제 이거랑 비슷한걸 판단해서 맞는걸 찍어보도록해' 라고 말하는것을 뜻한다. 이러한 지도학습에는 예측과 분류가 있는데, 1) 예측은 일종의 ..

일반인을 위한 머신러닝 (1) - 참고자료

앞으로 쓸 포스팅은 Coursera 설립자인 Andrew Ng(응가 아니고 응) 선생님의 강의를 바탕으로 요약식으로 재구성한것으로, Coursera나 Itunes에서 공짜로 냅다 들을수 있다. 포스팅은 간단한 데이터 분류에서부터 기계학습, 이미지 프로세싱, 영상처리까지 구성할 예정이며 나중에 자료를 집대성해서 일반인들이 쉽게 이해할수 있는 자료집을 만들어도 좋겠다는 생각이다. 머신러닝이라함은 사실은 그냥 들을때는 굉장히 멋있어 보이고 어려워보이기만 한다. 그렇지만 막상 까보면 이전에 있었던 개념이며 이러한 개념들이 현재 이슈되고있는 빅데이터 등의 개념과 합쳐져서 대두가 되고있는 느낌이다. 머신러닝은 결국에는 데이터를 다루는것에 대한 하나의 이론이며 이의 패턴을 찾아 예측하는 방법론이라고 할수 있을것이다...