A Mahout is a person who drives an elephant
(hint: Hadoop's logo is an elephant.)
즉, 코끼리를 다루는 사람이라는 의미입니다. 로고는 여기서 다운로드 받을 수 있는데요 로고를 잘 보시면, 코끼리를 타고 있는 사람이 보이실 겁니다. 물론 코끼리를 다루는 사람이라고 해서 하둡을 대상으로 보다 상위에 있는 프로젝트는 아니라고 얘기하고 있습니다. 제 개인적인 생각으로는 하둡위에서 보다 더 고차원적인(?) 일을 하는 사람이라는 생각이 살짝 들었습니다. ^^
이리저리 사이트를 둘러보면서 정리해보려고 했지만, 생각보다 정리하기가 쉽지 않더군요 그래서 일단 마하우트 위키페이지에서 하나씩 그냥 심심풀이로 읽어보기로 했습니다. 처음에는 막막하더니 조금씩 읽어가다보니 조금씩 정리가 되는 것 같습니다.
우선, 마하우트가 왜 생겼는지에 대한 페이지를 둘러보았습니다.
과거에는 기계학습이라 하는 분야 또는 학문영역 자체가 지금 만큼 넓지 않았으며, (물론, 지금도 아주 popular한 영역은 아닌 것 같습니다) 그러한 프로젝트를 실행하는 것이 잘 공개되지 않았던 것 같습니다.
우선은 공개되지 않은 상태에서 연구가 이루어지고, 내부적인 용도로 어느정도 사용되다가, 펀딩받은 돈이 다하면, 그대로 사장되거나 사라지는 형태로 말이지요...
그리고 최근 이슈화 되고 있는 대용량 처리를 위한 고려가되지 않았다는 점입니다. 수많은 로그와 대용량의 학습데이터를 통해서 학습하는 것 자체가 하나의 장비 내에서 할 수 있는 한계가 있기 떄문이었습니다.
그러기 위해서는 아래와 같은 여러가지 기본적인 기계학습 알고리즘이 필요할텐데요.. 아래와 같은 어디선가 한번쯤은 보았을법 한 알고리즘들입니다.
- Naive Bayes
- Neural Networks
- Support Vector Machines
- Logistic Regression
- Locally Weighted Linear Regression
- k-Means
- Principal Components Analysis
- Independent Component Analysis
- Expectation Maximization
- Gaussian Discriminative Analysis
모두 하나 하나가 복잡한 알고리즘들이라, 구체적인 내용은 기계학습 또는 데이터마이닝 관련 서적을 참고하셔야 할 듯 합니다. :-)
- hadoop Apache license - 분산저장소 + 분산처리
- lucene Apache license (maybe) - 검색엔진
- UIMA (maybe) - 정보추출 or 분석
- PIG (maybe) - 데이터분석용 질의어
- common-math (maybe) - 수학, 통계
https://svn.apache.org/repos/asf/lucene/mahout/ 현재 최신 소스를 확인할 수 있습니다. 물론 다운로드 하여 로컬에서 실험할 수도 있고요..
이슈트래킹은 JIRA Mahout (mahout) 을 통해서 하고 있습니다. 현재도 많은 이슈들이 진행중이네요, 하지만 Neural Network에 대한 것은 아직 open일 뿐 진행중이지 않네요.. 털썩
- Dawid Weiss (in particular the bits about clustering)
- Erik Hatcher
- Grant Ingersoll (Homepage, Blog)
- Isabel Drost (apache_mahout@isabel-drost.de)
- Karl Wettin
- Otis Gospodnetic
- Niranjan Balasubramanian
- Ozgur Yilmazel
This article was written in springnote.