기계학습(Machine Learning)에 대해서 관심이 높아지는 것 같습니다. 하지만 관련된 자료가 많지 않은 듯 해서 올려봅니다. 먼저 최근 Facebook 친구가 되신 분의 타임라인에 올라와서 확인한 자료인데요. 빅데이터에서의 기계학습(Machine Learning on Big Data)로서 잘 구성된 것 같습니다. 이 자료에 대한 설명과 함께 들으면 좋겠다는 생각이 들기도 하네요.. Machine Learning on Big Data from Max Lin 그리고 스탠포드 대학의 Andrew Ng 교수의 Machine Learning 강의도 훌륭합니다. iTunes University에서 "Machine Learning"으로 검색해도 나오구요. Coursera에서도 무료로 볼 수 있습니다. (ht..
빅데이터의 등장과 함께 Analytics에 대한 관심도 높아지고 있습니다. 넓은 의미의 Analytics는 의사 결정권자에게 실행할 수 있는 인사이트를 제공해주는 것이라 할 수 있습니다. 좁은 의미로는 사용자에게 데이터로부터 패턴을 파악해서 제공할 수 있는 기술이나 프로세스를 말합니다. 일반적으로 IT와 관련된 용어들은 여러가지 측면에서 의미를 부여할 수 있습니다. 보통 비즈니스 측면과 기술적 측면으로 나눠 볼 수 있는데요. Analytics도 넓은 의미는 비즈니스 측면이고 좁은 의미는 기술적인 측면이라고 말 할 수 있겠죠. 넓은 의미의 Analytics 일반적으로 데이터를 분석하는 목표는 비즈니스를 성공적으로 이끌어내기 위함입니다. 즉, 넓은 의미의 Analytics는 비즈니스 자체에 목적을 두고 있다..
이전에 살펴본 베이즈 확률(Bayesian Probabilities)과 가우스 분포(Gaussian Distribution) 에서 Frequentest와 Bayesian에 대해서 정리를 했었습니다. 실제 Curve Fitting에서 이 두가지 방식이 어떻게 적용되는지 살펴보도록 하죠. Curve Fitting에 대해서는 기계학습 첫 강좌에서 설명했었습니다. 주어진 입력값 x에 대한 타겟을 t라고 했을 때, x에 대응하는 값 y(x, w)에 대해 다음과 같은 관계가 성립한다고 합니다. 다음 그림을 옆으로 보면 y(x,w)에 대해 정규 분포의 형식을 가지고 있는 것을 알 수 있습니다. 정규분포를 따르므로 y(x,w)는 평균, β−1은 분산이 된다는 것을 알 수 있습니다. 앞서 정리한 가우스 분포(정규 분포)..
확률에서 많이 사용하는 베이즈 정리는 "확률 - 일어날 가능성을 측정하는 방법"의 끝부분에도 간략하게 정리했었습니다. 이번에는 베이즈 정리를 좀 더 깊이있게 알아보도록 하죠. 베이즈 확률 (Bayesian Probabilities) 실생활에서 베이즈 정리는 스펨 메일 필터링이나 유전자 검사 등에서 활용한다고 했습니다. 기계학습에서도 이런 베이즈 정리를 많이 사용하는데요. 이전의 기계학습 예제를 설명할 때, Training Set에서 주어진 X에 대해 적절한 곡선을 만들어 주는 것을 Curve fitting이라고 했었습니다. 이러한 Curve fitting을 하는 방법이 보통 두가지가 있는데요. 하나는 Frequentist treatment이고 나머지 하나가 Bayesian treatment입니다. 여기에..
확률과 관련한 Sum Rule과 Product Rule에 대해서 살펴봤는데요. 주로 이산 변수에 대한 확률이라면 이번에는 연속 변수에 대한 확률을 정리해 보도록 하죠. Probability Density 연속 함수는 다음과 같은 그림으로 나타낼 수 있습니다. 연속 함수의 확률을 구하기 위해서는 각 구간을 조그맣게 자르고 그 간격을 δx라고 표시합니다. 그리고 연속함수의 임의의 변수 x가 (x, x+δx)에 있다고 할 때, 변수 x가 나올 확률은 p(x)δx로 표시할 수 있습니다. 최종적으로 (a, b) 구간 사이에 변수 x가 있을 확률은 위에서 구한 p(x)δx를 모두 합하면 됩니다. 연속함수이므로 이러한 합을 구하는 것은 바로 적분을 사용하면 됩니다. 확률이므로 p(x)는 0보다 크고 모든 확률의 합은..
기계학습에서 많이 사용하는 확률 이론에 대해서 살펴보도록 하겠습니다. 확률과 관련해서 처음 볼 경우에는 확률 - 일어날 가능성을 측정하는 방법 을 읽어보면 기본 개념을 이해할 수 있습니다. 여기에서는 비슷한 내용이기는 하지만 다른 방향에서 살펴보도록 하죠.. 다음 그림에서 전체 갯수가 N이라고 할 때, 임의의 값 x와 y가 동시에 나올 확률은 어떻게 될까요? x와 y가 동시에 나오는 경우를 전체 갯수로 나누면 되겠죠. 보통 동시에 나올 확률을 교집합으로 표기하기도 하는데, "Pattern Recognition and Machine Learning"에서는 다음과 같이 표시하네요. 이어서 임의의 x가 나올 확률은 다음과 같이 표시할 수 있습니다. 위 그림을 잘 살펴보면 직관적으로 확인할 수 있을 것입니다. ..
Christoper M. Bishop이 쓴 "Pattern Recognition and Machine Learning" 이란 책을 스터디하고 있습니다. 기계학습(Machine Learning)을 배워보기 위해서 살펴보고 있는데요. 책이 재미있으면서도 조금은 난이도가 있네요. 기계학습이란? 기계학습은 컴퓨터가 학습할 수 있도록 알고리즘과 기술을 개발하는 분야를 의미합니다. 이를 통해 다양한 패턴 인식이나 예측등을 수행할 수 있겠죠. 기계학습을 하기위해서는 수학적 배경 지식들이 중요한데요. 이 책에서도 1장에서 베이즈확률(Bayesian probabilities)와 함께 정규분포를 다룬 Gaussian Distribution 등 여러가지 이야기들이 나오고 있습니다. 앞으로 계속 하나씩 정리해 보도록 하죠. ..
빅데이터의 사례로 가장 많이 이야기하는 것이 바로 "Google 독감 트렌드"입니다. 구글에 집계된 검색어를 기반으로 세계 여러 국가의 독감 유행 수준에 대한 예상 수치를 제공하는 것인데요. 이를 기반으로 빅데이터에 대한 전략이 어떻게 만들어졌는지 한번 생각해 보기로 했습니다. 데이터 수집구글 검색어가 자동으로 구글의 서버에 쌓이게 되므로 데이터의 축적은 기본적으로 이루어졌을 것입니다. 또한 검색어는 시간에 따른 분포를 나타낸다는 점과 IP를 통한 위치를 파악할 수 있다는 것을 활용한 것이라 볼 수 있습니다. 즉, 검색어, 시간대, 그리고 위치 정보를 활용해서 독감 트렌드를 분석해 낸 것이죠. 먼저 독감(ILI - influenza likeness illness)과 관련된 키워드(ILI-related q..
MongoDB에 대한 개요는 이전에 한번 정리한 적이 있었는데요. 이번에는 MongoDB를 설치하고 기본적인 명령어들을 한번 사용해 보려고 합니다. MongoDB 설치설치를 위해서는 http://www.mongodb.org/downloads 에서 OS에 따라 파일을 다운로드 하면 됩니다. 버전이 여러가지가 있는데요. 2.2와 같이 짝수로 된 버전이 안정적인 버전이므로 참고해서 다운로드 하시기 바랍니다. 압축을 풀면 설치는 간단하게 끝난다고 보면 됩니다. 다만 데이터베이스에 사용할 폴더를 설정해야 하는데요. 기본적으로 사용하는 폴더가 /data/db 입니다. 저는 간단하게 테스트용으로 사용해서 다른 곳에 폴더를 생성하고 데몬 실행시 다음과 같이 했네요. > ./mongodb -dbpath ~/Dev/mon..
빅데이터를 위해서는 크게 세가지 분야의 기술이 필요합니다. 첫째, 데이터의 획득 및 생성하기 위한 센서나 디바이스에 적용할 기술이 있습니다. 둘째, 데이터를 축적하기 위해 병렬처리와 같은 아키텍처나 스토리지가 관련 기술이 필요합니다. 마지막으로 축적된 데이터를 분석하기 위해 하둡과 같은 기술들이 필요하겠죠. 이번에는 축적된 빅데이터를 분석하는 기술에 대해서 한번 정리해 보려고 합니다. 흔히 빅데이터 = 하둡 이라고 생각을 많이 합니다. 전혀 틀린 이야기는 아니지만 하둡이 만능은 아니라는 점을 확실히 이야기 하고 싶습니다. 하둡은 다음과 같은 장점 때문에 빅데이터의 분석 기술로 각광받고 있습니다. 대용량 비정형 데이터를 기반으로 함.HDFS와 맵리듀스를 활용하여 쉽게 분산 처리가 가능함.PC급의 하드웨어 ..