데이터 과학과 관련된 Coursera 강의 및 Machine Learning 관련 추천 강의 리스트


Machine Learning 

by Stanford University 


- Schedule : 11 Weeks

- Instructors : Andrew Ng

- Link : https://www.coursera.org/learn/machine-learning/

코세라 창업자이자 Machine Learning 의 4대 천황이라 알려진 앤드류 응(Andrew Ng) 교수가 직접 강의하는 코스로 Machine Learning 기본 개념을 쉽게 이해할 수 있다.




The Data Scientist’s Toolbox

by Johns Hopkins University 


- Schedule : 2016 March 14 ~ April 17

- Instructors : Jeff Leek, Roger Peng, Brian Caffo

- Link : https://www.coursera.org/learn/data-scientists-tools/

데이터 분석과 관련된 가장 쉬운 코스로 선수 지식이 없어도 수강하는데 무리가 없다. 





R Programming

by Johns Hopkins University 


- Schedule : 2016 March 21 ~ April 24

- Instructors : Roger Peng, Jeff Leek, Brian Caffo

- Link : https://www.coursera.org/learn/r-programming/

R을 이용해 데이터 분석하는 방법을 다룬다. 프로그래밍 지식이 부족하더라도 부담없이 들을 수 있는 코스이다.





Functional Programming Principles in Scala

by École Polytechnique Fédérale de Lausanne


- Schedule : 7 Weeks

- Instructors : Martin Odersky

- Link : https://www.coursera.org/course/progfun

스칼라 언어의 창시자인 마틴 오더스키(Martin Odersky)가 직접 강의하는 코스로 2014년 9월 진행되었던 강의





* 그 외 Machine Learning, Text Mining 관련 들어볼만한 강의


Web Intelligence and Big Data

by Indian Institute of Technology Delhi



Introduction to Computational Finance and Financial Econometrics

by University of Washington



Natural Language Processing

by Columbia University



Natural Language Processing

by Stanford University



Text Mining and Analytics

by University of Illinois at Urbana-Champaign



Statistics: Making Sense of Data

by University of Toronto








[ 본문 중에서 ]


빅 데이터의 특징 4V - 6~7p.


1) 데이터의 양 (Volume)

"보통"의 데이터에 비해 빅데이터는 그 양이 대단히 많다. 몇 테라바이트(TB)에서 몇 제타바이트(ZB)에 이른다. 제타바이트는 10억 TB 또는 1조 GB이다. 정말 많은 데이터가 아닌가! 2010년도에 전 세계적으로 흩어져 있는 데이터가 약 1ZB, 즉 1억 2천 5백만 개의 8GB 메모리 저장 장치에 해당한다. 게다가 몇 년 사이에 이 데이터 양은 계속 증가하고 있으며 멈출 것이란 어떤 징후도 보이지 않는다. 바로 이렇게 대단히 많은 양의 데이터가 빅데이터의 특징이며 슈퍼 컴퓨터라 할지라도 한 대의 컴퓨터가 다룰 수 없는 양이다. 그래서 대다수의 데이터 과학 프로젝트에서 병렬 처리 컴퓨팅[각주:1] 기법이 필요하다.


2) 데이터의 다양성 (Variety)

빅데이터는 통상적인 방법으로 수집되기도 하지만, 서로 다른 위치에서 다른 방법으로 얻기도 한다. 우리가 일반적으로 다루던 데이터는 구조화된, 그러니까 보통 데이터베이스에서 볼 수 있는 데이터이다. 우리는 데이터의 종류와 크기를 알고 있으며, 해당 필드로 뭘 해야 할지도 대부분 알고 있다. 반면에 빅데이터는 전혀 구조화되지 않거나 어느 정도만 구조화된 데이터를 포함한다. 구조화되지 않은 데이터는 아무리 작은 부분일지라도 역시 미리 정의된 형태로 구조화되지 않은 데이터이다. 예를 들어, 페이스북에 올려진 글이나 트윗, 전화 기록 등이 있다. 반면에 전자메일 주소의 앞부분이라든가 기계의 사용 기록 등은 어느 정도 구조화된 자료의 좋은 예이다.


3) 데이터의 속도 (Velocity)

데이터가 만들어지는 생성 속도, 혹은 기업에 전해져서 처리되는 속도가 빅데이터의 또 다른 특징이다. 과거에는 통상적으로 데이터가 생성되는 장소에서 처리되는 장소로 옮겨지는 것이 다소 느리고 정적이었다면, 빅데이터는 늘 움직이고 있으며 그 속도도 빠르다(물론 예외도 있다). 따라서 가능하다면 거의 실시간으로 처리되어야 잠재적인 손실이 일어나지 않을 것이다. 예를 들어, 금융기관은 매초 5백만 개의 메시지, 즉 30만 마이크로초에 한 건의 메시지를 처리해야 할 수도 있다.


4) 데이터의 신뢰도 (Veracity)

앞선 빅데이터의 3V는 다른 책이나 글에서 가끔 언급되고 있다. 이에 비하면 빅데이터의 신뢰도는 상대적으로 최근에 더해진 측징으로, 데이터가 고급의 믿을 만한 정보인지 하는 문제도 빅데이터의 또 다른 특징으로 포함한다. 모든 데이터 자체가 혼란스러울 때가 있다. 효과적으로 빅데이터를 다룬다는 것은 어쩌면 포함되어 있을지 모르는 잘못된 정보를 포착하는 데 필요한 고급의 분석 과정을 포함한다. 주의를 기울이지 않으면 실제로는 아무런 의미도 없는 통계 자료를 통해 결론이 도출되거나 의심스러운 결론에 도달하게 된다.


데이터 과학에 관한 Drew Conway의 벤 다이어 그램 - 35p.



■ 데이터 과학의 주요 도구 - 37p


맵리듀스(MapReduce) : 복잡한 업무를 여러 개의 단순 작업으로 나누고 분산 알고리즘과 병렬 처리 기법으로 업무를 저비용으로 빠르게 처리하는 효과적인 방법. 이 알고리즘은 전에도 알고 있었던 것이지만, 데이터 과학에서 널리 사용하여 잘 알려지게 되었다.


하둡 분산 파일 시스템(Hadoop Distributed File system, HDFS) : 병렬 처리를 하도록 만들어진 오픈소스 플랫폼. 기본적으로 네트워크에 연결된 컴퓨터가 처리할 수 있도록 커다란 데이터를 작게 나누어 준다.


고급 텍스트 분석(Advanced Text analytics) : 보통 자연어 처리(Natural Language Processing, NLP) 라고 알려져 있다. 이 분야는 일반적으로 구조화되지 않은 텍스트 데이터에서 유용한 정보와 기업적 지식을 추출해 내는 데이터 분석 기법이다. 데이터 과학 이전에는 이 분야는 아예 존재하지도 않았다.


대규모 데이터 프로그래밍 언어(Large Scale Data Programming Languages, 예를 들어, Pig, R, ECL 등) : 대량의 데이터(특히 빅데이터)를 효과적으로 다루는 프로그래밍 언어. 데이터 과학이 나타나기 전에 이 분야는 개발 단계였거나 존재하지 않았다.


대체 데이터베이스 구조(Alternative Database Structures, 예를 들어, HBase, Cassandra, MongoDB 등) : 빅데이터를 병렬 처리 기법으로 기록, 질의, 편집할 수 있는 데이터베이스




■ 데이터 과학자의 유형 - 45~48p.


1. 데이터 개발자 (Data Developer) : 프로그래밍 전문가

데이터 개발자는 통상 데이터의 관리와 분석이라는 기술적 부분에 더 초점을 둔다. 달리 말해서, 매일 여러 곳에서 커다란 데이터베이스에 질의(쿼리)를 하여 의미 있는 결과를 얻고, 결과를 종합 분석하여 유용한 정보를 추론해 내는 일, 즉 데이터를 수집하고 체계화하는 일을 한다. 데이터 개발자는 코딩과 기계 학습(Machine Learning) 기술 등에 강한 면모를 가지고 있다. 경력이나 배움에 따라 다르기는 하겠지만, 기업 업무나 통계에 관한 기술은 상대적으로 미숙하다. 

데이터 개발자는 여러 산업체에 근무하고 있는데, 규모가 작은 회사에서 일하거나, 큰 회사에서 데이터 과학 팀원으로 업무를 담당하고 있다. IT 업무에 종사하던 사람들은 자연스럽게 이런 유형의 데이터 과학자가 되기 쉽다. 경영학이나 통계학을 배우며 동시에 몸담은 산업체의 경험을 통해서 자신의 기술을 발전시킬 수 있다. 업무 기술을 더 익히게 되면 경영에 더 가까워질지도 모르겠지만, 어쨌든 데이터 개발자는 통상 데이터 과학자의 입문 과정이라 볼 수 있다.


2. 데이터 연구자 (Data Researcher) : 데이터 분석 기술에 전문지식 보유

데이터 연구자는 대체로 통계학을 전공하였거나 통계학을 바탕으로 한 과학 분야, 즉 사회 과학 등을 공부한 사람들이 많다. 다른 데이터 과학자에 비하면 박사 학위를 가지려고 하는 경향이 강하다. 경영에는 그리 적당하지는 않겠지만, 분석에는 발군이다. 이런 속성은 획기적인 업무를 실현해야 하는 경우 정말 바람직하다. 예를 들면, 데이터 과학을 접해 본 적이 없거나 가지고 있는 데이터로 무엇을 해야 할지 모르는 조직에서는 데이터 연구자가 필요하다. 데이터로부터 유용한 정보를 생산하기 위한 프로그래밍과 실무 능력을 제대로 평가 받는 다른 전문가와 함께 데이터 과학 팀원으로 활동한다면, 데이터 연구자는 큰 조직 사회에서 아주 좋은 자산으로 평가된다. 데이터 연구자들도 새로운 것을 배우는데 능숙하므로 더 많은 기술을 배우고, 가진 기술도 더 다듬어 필요한 곳에서 유연한 활동을 할 수 있다.


3. 데이터 창작자 (Data Creative) : 데이터 과학 분야를 총체적으로 배운 사람들, 컴퓨터 공학자들이 전업하는 경우가 많음

데이터 창작자는 학계에 상당한 경력을 가지고 있으며, 빅데이터 기술과 기계 학습, 그리고 프로그래밍에도 뛰어나다. 이들은 오픈소스를 좋아하고 널리 알려진 기술을 아는 것에 자부심을 품고 있다. 이런 성향 때문에 데이터 창작자는 별로 힘들이지 않고도 하나의 역할에서 다른 역할로 전환할 수 있다. 데이터 과학 분야의 스위스 아미 나이프(Swiss Army Knife: 다목적 주머니칼)라 할 수 있겠다. 데이터 창작자는 경영에는 별다른 재주가 없겠지만, 데이터 과학자로서 하루하루의 일은 잘해낸다. 물론, 결과물의 가치를 다른 사람이 알아차리긴 어렵겠지만 말이다.

유연성을 가진 고용인을 요구하는 작은 기업에게 데이터 창작자는 매우 가치 있는 자산이다. 하지만 큰 기업에서 업무를 수행하는 것도 어렵지 않다. 특히, 경영 전문가와 함께 팀을 구성한다면 더 좋겠다. 필요한 기술이 있다면 업무 경험을 통해 쌓아 나갈 것이다.


4. 데이터 사업가 (Data Businesspeople) : 경영에 관여하는 최상위 계층

데이터 사업가는 일반적으로 새로 구성된 데이터 과학 팀을 이끌어 나가는 선임들이라 하겠다. 그들은 경영 기법에 해박하고 프로젝트 관리도 잘한다. 기업 이익의 증대에 주안점을 두고 있으며, 밑그림을 그리는데 더 관심이 많다. 그러기는 하지만, 상당한 전문 기술을 알고 있으므로, 또한 현실적이라 하겠다.

데이터 사업가는 상당히 큰 조직에 몸담으려는 경향이 있으며 종종 스스로 창업하기도 한다. 다른 전문가, 특히 경영인들과 유연한 관계를 유지하고 데이터 과학 프로세스에 대해 해박한 지식과 경험을 겸비했다. 이런 유형의 데이터 과학자는 주로 다른 데이터 과학자나 데이터 전문가의 수장이 되어 맡은 데이터 과학 프로젝트를 관리하는 역할을 한다.


5. 혼합/포괄 유형

혼합/포괄 유형은 데이터 사업가와 비슷하다. 하지만 광범위한 경험도 없고 경영에 주안점을 두지도 않는다. 양쪽에 균형적으로 접근하며, 이런 유형은 앞선 첫 세 가지 유형보다 더 빨리 이 분야에서 높은 위치를 차지하는 경향이 있다. 프로그래밍과 통계학, 경영 기법에도 능숙하고 마치 데이터 창작자처럼 매우 유연한 사고방식을 지니고 있어서 기업 세계에도 폭넓은 이해를 가지고 있다. 어린 나이에 데이터 과학을 공부해서 데이터 과학자가 되려는 사람들이 이런 유형이 되는 경향이 있다.

혼합/포괄 유형의 데이터 과학자는 기업의 종류에 관계없이 진출할 수 있다. 독립적으로 때론 팀원으로 업무를 수행하고 이 분야에 매우 열성적으로 매진한다. 데이터 과학에 대한 강의 수요가 점점 늘어나고 분야가 더 성숙해짐에 따라, 앞으로는 이런 유형의 데이터 과학자가 더 늘어날 전망이다. 하지만, 컴퓨터를 처음 이용할 때의 프로그래머보다 요즘 프로그래머들이 더 다재다능해진 것처럼, 그들도 나름의 변화가 있을 것이다.




■ 데이터 과학자의 자질과 경험


○ 데이터 과학자가 가져야 할 전문 지식 - 77p.

  - 하나 이상의 데이터 분석 도구(R, SPSS, SAS, Stata, Matlab 등)에 대한 충분한 지식과 함께 그 중 하나는 완벽하게 다루어야 함

  - 빅 데이터 저장 프레임워크(Hadoop, Hive 등)에 대한 경험

  - 데이터 과학에 때때로 필요한 노하우. 즉 시각화와 관계형 데이터베이스, 소비자 모델링, 빅데이터 통합 처리 시스템, 그리고 당연하지만 빅데이터 영역에서 데이터 집합을 다루어 본 경험


○ 첫 업무 경험을 얻는 최소한의 방법 - 84p.

  - Kaggle 이라는 데이터 과학 대회에 참가한다 

  - 관련 업무를 수행하는 회사의 인턴사원으로 근무한다

  - 대학원생이라면 데이터 관련 과제를 가진 회사의 사례를 연구하여 논문으로 발표한다

  - 데이터 과학 모임에 자원한다

  - Data Science Central 과 같은 사이트에서 찾아 수습 기간을 가진다.




■ 사용하는 소프트웨어 - 하둡 도구 모음과 친구들 - 92~101p.


MapReduce

구글이 개발했으며, 하둡의 주된 구성 프로그랭이다. 맵리듀스는 빅데이터 기술의 심장이라고 할 수 있다. 본질적으로 하둡과 연결되어 있긴 하지만, MPP와 NoSQL(예를 들어, MongoDB)과 같은 다른 빅데이터 프로그램에서도 이용하고 있다. 맵리듀스는 원래 등록된 프로그램이었지만, 2006년 야후가 자금을 대면서 하둡을 통해서 "웹 규모(Web Scale)"의 오픈소스 프로그램으로 바뀌게 되었다. 맵리듀스는 병렬 처리 컴퓨팅에 쓰이는 잘 알려진 알고리즘의 하나로, 여러 대의 컴퓨터를 통해 데이터 집하에 질의하고 작은 조각으로 나누어 각 컴퓨터가 처리하도록 해준다.


HDFS

하둡 분산 파일 시스템(Hadoop Distributed File System)의 약자로, 하둡이 사용하는 파일 시ㅡ템이다. 하둡에서 처리해야 할 작업이 이다면 먼저 HDFS로 전환해야 한다. 이 파일 시스템은 하둡이 설치되어 있고 서로 연결(네트워크)된 컴퓨터에서 사용된다. 데이터 제한 용량은 대략 30PB(페타바이트)이다.


Pig

다양한 하둡 연산을 위한 고급 프로그래밍 언어이다. 이 언어는 하둡 생태게의 다양한 작업을 조절하는 단위 도구로 볼 수 있다. 기능도 확장할 수 있다.


Hive

SQL과 비슷하게 접근할 수 있는 대규모 데이터베이스 프로그램이다. 여러 대의 하둡 컴퓨터에 분산된 데이터를 위해 만들어졌다. 역시 기능을 확장할 수 있다.


HBase와 Sqoop, Flume

하둡의 데이터베이스 구성요소이다. HBase는 HDFS를 바탕으로 하는 열(칼럼) 기반 정렬 데이터베이스이다. 구글에서 개발한 빅테이블(BigTable)을 기반으로 하며 1PB의 데이터 용량 제한이 있다. HDFS에 기록된 데이터에 직접 접근할 때는 다소 느린 성능을 낸다. 따라서 자체에 저장된 데이터를 처리하기엔 적합하지 않다. Hbase는 데이터를 저장하고 시계열(Time-series) 데이터를 산출하기에 적당하다. Sqoop는 관계형 데이터베이스의 데이터를 HDFS로 전환할 수 있게 하는 프로그램이다. Flume도 비슷한 프로그램이지만 다양한 출처에서 생기는 데이터와 기록을 모으고 전환하는 데 더욱 초점을 둔다.


Mahout

HDFS에 저장된 데이터 처리를 위한 기계 학습과 데이터 마이닝 알고리즘 라이브러리이다.


Zookeper

하둡은 동물들의 우화집처럼 여러 구성요소로 되어 있다. 따라서 환경 설정 관리와 조정 프로그램은 필수적으로 같이 있어야 한다. Zookeeper는 전체 도구 모음을 잘 통합하여 사용하기 쉽도록 해준다.


빅데이터 기술에 반드시 하둡을 이용해야만 하는 것은 아니다. 잘 알려지지는 않았지만 흥미로운 다른 대체 프로그램으로 Storm이 있다. 


Twitter와 Alibaba, Groupon을 비롯한 몇몇 다른 기업들이 사용 중이다. Storm은 하둡에 비해 상당히 빠르다. 또한, 오픈소스이며 사용하기도 쉬워서 대체 프로그램으로 충분한 가치가 있다. 하둡과는 달리, Storm은 맵리듀스 작업을 실행할 수 없고, 대신 위상 기하학(Topology)을 이용한다. 맵리듀스는 언젠가는 작업을 완료하게 되지만, 위상 기하학은 영원히 실행되거나 사용자가 정지시켜야 한다(운영체제가 작동하는 동안 같이 실행되는 백그라운드 프로세스라고 생각할 수 있다). 위상 기하학을 이용하면 데이터의 흐름을 처리하면서 연산한 내용을 그래프로 시각화할 수 있다. 이런 데이터 흐름의 출처를 "Spouts"(수도꼭지 모양)라고 부르고 "Bolts"(번개 모양)와 연결되어 있다. Bolt는 여러 개의 입력 흐름을 받아서 처리하고 새로운 흐름을 만들어 내기도 한다.


Storm 위상 기하학은 보통 Java나 Ruby, Python, Fancy로 코딩 된 프로그램이다. Storm은 Java와 Clojure(함수형 프로그래밍 언어로 Java와 함께 잘 사용된다)로 만들어졌다. Storm 소프트웨어를 사용할 때 유리한 점은 데이터 처리를 실시간으로 하고, 간단한 API를 가지고 있으며, 확장이나 축소가 쉽고, 오류에 내성이 있다는 것이다. 또 배치하여 사용하기도 쉽고, 무료이고 오픈 소스이며, 데이터 처리가 보장된다. Storm 소프트웨어는 다양한 프로그래밍 언어와 함께 사용할 수 있으며, 사용자 동호회도 성장하고 있다. 미국 전역과 런던 그리고 다른 곳에서도 꾸준히 확장되고 있다.


○ 이 밖에 하둡의 아성에 도전하고 있는 다른 프로그램들


Spark

UC Berkely AMP 연구소에서 개발되었다. Spark는 맵리듀스 분야에서 새롭게 조명받고 있다. 주된 목적은 데이터 분석 코드를 빠르게 작성하고 실행되도록 하는 것이다. 이 분야에 있는 다른 시스템과는 달리, Spark는 디스크에서 입출력하기보다는 메모리에 상주하며 데이터 질의를 한다. 결과적으로, Spark는 하둡에 비해서 필수적인 알고리즘을 더 빨리 실행한다. Scale로 구현되었고, 이 책이 집필되는 현재 UC Berkely 연구원과 Conviva에서만 쓰이고 있다.


BashReduce

스크립트로서, 표준 Unix 명령어(예를 들어, sor, awk, grep, join 등)를 맵리듀스에 구현한다. 하둡의 좀 다른 대체 도구이다. 매핑/파티셔닝(Mapping/PArtitioning)과 리듀싱(Reducing), 머징(Merging)을 지원한다. 분산 파일 시스템은 전혀 가지고 있지 않지만, BashReduce는 작업 컴퓨터에 파일을 분산 배치한다. 따라서 오류(고장)가 없도록 보장하진 않는다. BashReduce는 하둡보다 복잡하지 않고 빠르게 개발할 수 있지만, 오류가 없도록 보장하지 않는다는 사실 외에 유연성도 거의 없다. 왜냐하면, 제한적인 Unix 명령어만 사용할 수 있기 때문이다. BashReduce는 온라인 라디오 방송국인 Last.fm의 에릭 프레이(Erik Frey)와 그의 동료가 개발하였다.


Disco Project

Nokia 연구소가 처음 개발하였지만, 잘 알려지진 않았다. 맵리듀스 작업은 간단한 Python으로 작성되고, Disco의 백엔드는 Erland으로 작성된다. Erlang은 확장, 축소할 수 있는 함수형 언어로 병행 처리를 지원하고, 오류를 방지하며 분산할 수 있다. Disco는 데이터를 분산하고 복제하지만, 자체 파일 시스템을 가지고 있지는 않다. Disco 시스템의 작업 일정 관리 기능 또한 매우 효과적이다.


GraphLab

카네기 멜론(Carnegie Mellon) 대학에서 기계 학습 응용 프로그램으로 개발되었다. GraphLab은 효과적이고 정확한 병렬 기계 학습 알고리즘의 설계와 구현을 목적으로 한다. GraphLAb은 Update Phase라고 불리는 자체 맵(Map) 단계를 구현하고 있다. 맵리듀스와 달리 Update Phase는 데이터가 겹치는 부분도 읽거나 수정할 수 있다. 그래프 기반 접근법은 그래프로 표현하는 기계 학습을 더욱 제대로 제어하고, 동적 반복 알고리즘을 개선한다.


HPCC Systems 

HPCC는 자체로 대용량 데이터 분석 프레임워크를 가지고 있다. ECL(Enterprise Control Language)은 서술적이고 데이터 중심적인 언어로, SQL, Datalog, Pig와 다소 비슷한데, HPCC는 이 언어를 이용하여 병렬 처리하는 작업의 흐름을 쉽게 한다. HPCC는 C++로 만들어졌으며, 메모리 상주 질의가 훨씬 빠르다. HPCC는 자체적으로 분산 파일 시스템을 가지고 있기 때문에 유망한 하둡의 대체 프로그램으로 꼽히고 있다.


Sector/Sphere

이 시스템은 C++로 개발되었으며, 하둡보다 2~4배 정도 빠른 성능을 보장한다. Sector와 Sphere라는 두 부분으로 구성되어 있는데, Sector는 확장 가능하고 안전한 분산 파일 시스템이며, Sphere는 Sector 파일 시스템에 저장된 데이터 파일을 매우 간단한 프로그래밍 인터페이스를 통해 병렬 데이터 처리하는 엔진이다. 오류(고장)에 대한 내성도 꽤 높고, WAN을 지원하며, 약간의 수정이 필요하지만 기존 시스템과 호환된다. 2006년부터 사용되었으며 하둡 대체 도구로 충분한 가치가 있다.


○ 하둡이 수행하는 작업을 다소 쉽게 해주는 여러 프로젝트


Drill

하둡의 추가 구성 요소로, 하둡 클러스터에 저장된 집합의 쌍방향 분석을 위한 인터페이스를 제공하는 데 초점을 둔다. 종종 맵리듀스를 이용하여 하둡의 빅데이터 분석을 묶음으로 처리한다. 그리고 Dremel을 통해 더 큰 데이터 집합으 훨씬 빠르게 다룰 수도 있다. 이는 매우 많은 수의 서버로 확장할 수 있는 능력(최소 10,000개 정도) 때문이다. 따라서 정말 대용량의 빅데이터를 처리하고자 한다면 좋은 선택이 될 수 있다. 하둡을 이용할 계획이라면, 고려해 볼만한 좋은 도구이다.


D3.js

D3라는 이름은 Data Driven Document의 축약형이다. D3.js는 오픈소스 JavaScript 라이브러리로, 빅데이터를 보여주는 문서를 조작할 수 있다. 이 프로그램 집합을 사용하면 웹 기술(HTML5, SVG, CSS)을 이용하여 동적인 그래픽을 만들 수 있다. 또한, 여러 가지 시각화 방법을 제공하여 코드 다이어그램이나 거품형 차트, 계통도, 트리 등의 그림을 만들 수 있따. D3.js는 오픈소스이기 때문에 끊임없이 개선되고 확장되고 있으며, 속도가 빠르고 다양한 플랫폼에서 실행되는 프로그램과 호환되도록 설계되었다. 완벽한 데이터 시각화 프로그램을 대체할 정도는 아니지만, 좋은 부가 구성요소임을 기억해두자. D3.js는 뉴욕 타임즈의 그래픽 편집자인 마이클 보스톡(Michael Bostock)이 개발하였다.


Kafka

LinkedIn에서 처음 개발한 메시징 시스템이다. 이 시스템은 소셜 매체가 활동하는 흐름과 운용 중인 데이터 처리 파이프라인의 기본 토대로 이용되었다. 그 이후 사용 범위가 확장되어 서로 다른 다양한 기업들의 데이터 파이프라인과 메시징 시스템으로 사용되고 있다. 상당히 효과적이고 하둡 생태계와 잘 통합되어 작동한다. 운영 체제와 상관없이 자바(Java)로 실행된다.


Julia

Julia는 데이터 분석 도구에 더 가깝다. 그러나 원래는 하둡과 같은 분산 컴퓨팅 환경에서 실행되도록 설계되었다. 견고하고 사용하기 쉬우며, Matlab이나 R과 비슷하며 매우 빠르다. 하둡 도구 모음에 부가 구성요소로 충분한 가치가 있고, 만일 프로그래밍을 즐긴다면 여러분이 가진 프로그래밍 기술에 이 좋은 언어를 추가하는 것도 좋겠다.


Impala

Apache HDFS와 Apache HBase에 저장된 데이터를 처리하고자 디자인된 분산 질의 실행 엔진이다. Cloudera사가 개발한 이 엔진은 데이터베이스에 초점이 맞추어져 있고 맵리듀스는 전혀 사용하지 않는다. 맵리듀스 작업에 필요한 여러 비용을 줄일 수 있기 때문에 실시간으로 결과를 도출해 낼 수 있다.




■ 데이터 분석 소프트웨어 - 105~108p.


R

R은 다른 데이터 분석 도구에 비해 우위에 있고 코드 작성이나 실행도 복잡하지 않은데, 이는 종종 루프(Loop, 순환)가 필요하지 않기 때문이다. 고급 언어로 코딩할 때 루프를 이용하는 프로그래밍 구조는 일반적으로 분석을 느리게 만드는 요인이다. 그래서 행렬로 확장할 수 있는 벡터 연산을 대신 사용한다. 이 특징은 벡터화(Vectorization)라고 알려져 있고 데이터 분석 스크립트에만 적용된다(객체지향 언어들은 근본적으로 속도가 빠르기 때문에 루프는 별 문제가 되지 않는다).

R의 프로그래밍 환경은 매우 기초적(어떤 면에서 Python과 비슷하다)이지만 충분히 사용자 친화적이다. 특히 작은 프로그램일 경우 더 그러하다. R은 훌륭한 데이터 분석 도구일뿐더러 GUI도 꽤 잘 만들어졌다. 그렇지만, 이 도구를 사용하려 한다면, 시간을 좀 할애해서 IDE 사용법을 배우고 커스터마이징해 보기 바란다. 사용할 수 있는 IDE가 여러 개 있으며, 대부분은 무료이다. 그중에서 조금 더 나아 보이는 것이 RStudio이다.


Matlab/Octeve

R이 산업계에 알려지기 훨씬 전에는 데이터 분석의 최고봉이었다. 비록 Matlab이 등록 제품이긴 하지만, 몇 개의 오픈 소스 대체 프로그램들이 있다. 그 중 최고는 Octave이다. Matlab과 Octave 모두 초보자도 쉽게 사용할 수 있고, 다양하게 활용할 수 있으며 R과 같이 벡터화를 사용한다. Matlab의 도구상자(라이브러리)는 다소 비싸지만, Octave는 그런 것이 아예 없다.


SPSS

최고의 통계 프로그램 중 하나로 연구에서 널리 쓰이고 있다. 배우기도 쉽고, R처럼 효과적이진 않지만 데이터 분석도 가능하다. 또한, Matlab과 마찬가지로 등록된 제품이다. 학계에서 선호도가 높고, 산업계 전문가들에게도 비슷하다.


SAS

통계용으로 대단히 인기 좋은 프로그램이며, 특히 기업에서 많이 쓴다. 상대적으로 사용하기 쉽고, 좋은 스크립트 언어를 가지고 있다. 이 언어는 상당히 복잡한 데이터 분석에 사용될 수 있다. 역시 등록된 제품이다.


Stata

통계 패키지로서 좋은 선택이 될 수 있다. Stata는 통계학자들 사이에서 선호도가 높은 도구 중 하나다. 또한, 등록된 제품인데, R이 데이터 분석에 점점 많이 쓰이면서 인기를 잃고 있다.




■ 데이터 시각화 소프트웨어 - 109~111p.


Tableau

Tableau는 시각화 과정을 더 직관적이고 효과적으로 다룬다. 그러나 불행히도 등록 제품이고 비싼 편이다. 그렇지만, 데이터 시각화와 도식의 블렌디와 내보내기를 빠르게 할 수 있다. 또한, 매우 사용자 친화적이고, 배우기도 쉬우며, 웹에 자원도 풍부하고, 크기(<100BM)도 작다. 그리고 개발자들이 튜토리얼이나 워크숍을 통해서 사용자 교육을 매우 활동적으로 지원한다. XP 이상 윈도우에서 실행되고 2주간의 시험 사용 기간을 준다. 흥미롭게도 이 소프트웨어의 활용법이 워싱턴 대학(University of Washington)의 "데이터 과학 개론(Introduction to Data Science)" 강의 계획에 들어 있다.

산업계에서는 Tableau는 다른 데이터 시각화 프로그램들보다 선도적인 역할을 하고 있다. 물론, BI(Business Intelligence) 부분에 더 적합한 응용 프로그램이긴 하지만, 시각화 업무 전반에 걸쳐서 사용할 수 있다. 그리고 시각화 결과물을 전자 메일이나 다른 온라인을 이용해서 공유하기도 쉽다. Tableau는 쌍방향 매핑도 가능하고 서로 다른 데이터 출처에서 가져오는 데이터를 동시에 다룰 수도 있다.


Spotfire

시각적 분석을 위한 이상적인 프로그램으로 TIBCO가 개발했다. 지리 정보 시스템과 모델링, 분석 소프트웨어와 잘 통합된다. 그리고 무제한의 확장성을 가지고 있다. 가격은 Tableau와 비슷하다.


Qlikview

매우 좋은 대체 프로그램을, 데이터 시각화와 계층 구조에 이상적이다. 성능도 빠르고 훌륭한 상호작용하는 시각화를 제공하며 대시보드(Dashboard)[각주:2]도 지원한다. 또한, 멋진 사용자 인터페이스(UI)를 가지고 있으며 일련의 시각적 관리 기법도 가지고 있다. 그리고 메모리에 있는 커다란 데이터 집합을 훌륭하게 다룬다. 하지만 이용할 수 있는 RAM(확장성의 문제)에 따라 제한되고 상대적으로 비싼 가격도 흠이다.


Prism

직관적인 BI 소프트웨어로, 구현하기도 쉽고 배우는 것 또한 쉽다. 주로 기업 데이터에 초점을 두고 있어서, 대시보드와 스코어보드, 질의 보고서 등을 만들어 낼 수 있다. 통상적인 시각적 도식들과는 거리가 있다.


InZite

흥미로운 대체 프로그램으로 매력적인 시각화와 대시보드 기능을 갖추고 있다. 매우 빠르고 직관적이다.


Birst

좋은 선택이 될 수 있다. 아주 다양하게 상호작용하는 시각화를 제공하고, 여러 가지 분석 도구를 가지고 있다. 피벗 테이블을 만들기도 하고, 세련되고 쉬운 보고서 작성 함수를 이용하여 데이터를 더 깊숙이 파고들 수 있다.


SAP Business Objects

이 소프트웨어는 가리키고 클릭하는 것만으로 데이터 시각화 기능을 이용할 수 있다. 상호작용하며 공유할 수 있는 시각화뿐만 아니라, 상호작용하는 대시보드도 만들 수 있다. 자연스럽게 다른 SAP 기업 제품과 직접적인 통합이 가능하다.




■ 온라인 강좌 - 123~128p.


Coursera

훌륭한 대체 사이트로서 손색이 없긴 하지만, 어떤 사이트도 인기 많고 양질의 강좌를 제공하는 Coursera 사이트에 비교할 수는 없다. Coursera에서는 는 쌍방향 강좌도 가능해서 열심히 할 각오가 되어 있다면 즐거운 경험이 될 것이다. 이 사이트에서 원하는 강좌를 찾을 수 없다면, 다른 대체 MOOC를 찾아보고 보충하도록 하자. MOOC[각주:3]의 데이터 과학 관련 강좌 중 들어봐야 할 강의 목록은 다음과 같다. 

Coursera 포럼을 통해서 지금 참여하는 강좌와 비슷한 다른 강좌에 대한 기본 정보와 후기들을 들어 볼 수 있다. 다양한 강좌에 대한 더 많은 정보를 얻을 수 있는 또 다른 좋은 곳은 Coursetalk (coursetalk.org)이다. 

1. Web Intelligence and Big Data  Indian Institute of Technology 

https://www.coursera.org/course/bigdata 

- 빅데이터와 맵리듀스 알고리즘, 그리고 이들이 어떻게 웹과 연관되는지를 배우기 정말 좋은 곳이다. 강사인 가우탐 쉬로프(Gautam Shroff) 교수는 지식도 풍부하고 체계적으로 강의한다. 따라서 좋은 데이터 과학자가 되려는 사람들에게는 필수 코스이다. 강의 수료 인증(CA, Certificate of Accomplishment)을 받을 수 있다.


2. Statistics One  Princeton   

https://www.coursera.org/course/stats1 

- 원하는 주제의 기초와 기본 원리를 배울 수 있는 좋은 강좌가 많다. 또한, R 데이터 분석 플랫폼을 이용해서 연습해 볼 수 있는 아주 좋은 곳이다. CA는 받을 수 없다.


3. Computing for Data Analysis  Johns Hopkins

- https://www.coursera.org/course/compdata

- R을 배우고 다양한 데이터 분석 응용 프로그램에서 사용해 보기 좋은 사이트. 4주짜리 강좌로 R을 잘 모른다면 어렵다. CA를 받을 수 있다.


4. Machine Learning  Stanford

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

- Coursera의 창립자인 Ng 교수의 강의다. 이 과목에 관해서는 최고의 강좌 중 하나다. 데이터 과학과 관련한 다양한 주제를 다루고 있다. 입문 과정이기 때문에 소개하는 방법들에 대한 심도 있는 설명은 하지 않는다. 사용하는 프로그래밍 언어는 Matlab/Octave이다. CA는 받을 수 없다.


5. Data Analysis  Johns Hopkins

https://www.coursera.org/course/exdata

- R을 이용해서 데이터를 분석하는 방법론에 초점을 맞춘 강의다. R을 알고 있다면 도움이 될 것이다. CA를 받을 수 있다.


6. Statistics: Making Sense of Data  University of Toronto

https://www.coursera.org/course/introstats

- 통계학 기초를 배우며 좋은 시간을 보내기 좋은 강의. 풍부한 예제와 사례 연구를 보여주며, 카리스마 있는 강사가 강의한다. CA를 받을 수 있다.


7. Introduction to Data Science  University of Washington

https://www.coursera.org/course/datasci

- 좋은 데이터 과학자가 되고 싶다면 반드시 들어봐야 하는 강의다. 안타깝게도 후속 MOOC 강의가 올라오지 않고 있지만, MOOC 웹페이지에서 강의를 찾아볼 수 있다. 강의에서 사용하는 프로그래밍 언어는 Python(버전 2.7)과 R, SQL이다. CA를 받을 수 있다.


8. Machine Learning  University of Washington

https://www.coursera.org/course/machlearning

- Ng 교수의 강의와는 다르지만, 여전히 좋은 강의다. 다른 기계 학습 강의가 다루지 않는 주제를 다룬다. 그리고 과제에 사용하는 프로그래밍 언어는 어떤 것이나 사용해도 된다. CA를 받을 수 있다.


9. Passion Driven Statistics  Wesleyan

https://www.coursera.org/course/pdstatistics

- 통계학 입문을 넘어서는 주제를 배울 수 있는 흥미로운 강의다. 통계학 패키지로는 쉽지 않은 SAS를 이용한다. 라이선스 문제로 몇몇 나라에서는 참여할 수가 없다. CA를 받으 수 있다.


10. Introduction to Databases  Stanford

https://www.coursera.org/course/db

- Coursera에서 처음 선보였던 강의 중 하나. 컴퓨터 공학에 대한 든든한 배경이 필요하기 하지만, 강의 주제에 입문하기 좋은 MOOC이다. 스스로 공부하는 강좌이기 때문에 자신의 진행 속도를 조절할 수 있따. CA에 관한 정보가 없다.



Udacity  www.udacity.com

이 MOOC 사이트는 과학(특히 컴퓨터 공학)과 디자인, 경영하게 관련된 다양한 강좌가 개설되어 있다.


edX  www.edx.org

과학에 초점을 맞추고 있지만, 인문학과 경영학, 경제학 강좌도 제공하고 있다.


Khan Academy  www.khanacademy.org

젊은 학생들에게 아주 좋은 사이트로, 훌륭한 수학과 과학 강좌가 많다.


Codecademy  www.codecademy.com

프로그래밍을 배우거나 연습을 하려 한다면 시작하기 좋은 사이트이다. 웹 기반 프로그래밍에 초점을 맞추고 있다.


Open Learning Initiative  http://oli.cmu.edu/

상대적으로 MOOC가 그리 많지는 않다. 다양성과 강좌의 질을 우선으로 한다. 생긴 지 오래되지 않았고, 촉망되는 사이트이다.


Open Yale Courses  http://oyc.yale.edu/

유명 대학들의 강좌를 매우 잘 조직화해서 보관하고 있다. 여기서 양질의 다양한 주제에 관한 자료(동영상, 강의 자료 등)를 얻을 수 있다. 다운로드가 가능하고 원하는 속도로 공부할 수 있다.


OpenLearn (Open University)  www.open.edu/openlearn/

최근에 만들어진 무료 사이트로, 높은 정확도의 정보를 제공한다. 다양한 강좌(언어 관련 강좌 포함)와 많은 사용자 동호회를 가지고 있다. 시간이 있다면 살펴볼 가치가 있다. 진지한 MOOC를 제공하기에 어느 정도 전념할 각오를 할 필요가 있다.


canvas.net  www.canvas.net

아주 다양한 주제들이 가득한 훌륭한 MOOC 사이트지만, 데이터 과학과는 큰 관련성이 없다.


openHPI  open.hpi.de

웹 기반 기술에 초점을 둔 상대적으로 규모가 작은 MOOC 사이트이다. 데이터 과학과 많은 관련이 있다.


NovoED  https://novoed.com/

주로 경영학과 경영 관리, 그리고 소수의 다른 주제도 다루는 흥미로운 MOOC 사이트이다. 다양한 내용은 없지만, 스탠퍼드 대학교의 좋은 강의가 여러 개 있다.


MongoDB  www.mongodb.org

이 사이트는 MongoDB 데이터베이스 프레임워크에 초점을 둔 상당히 전문적인 강의들을 제공한다.


Open2Study  https://www.open2study.com/

4주짜리 작은 강의들로 이루어진 훌륭한 사이트로, 주로 경영과 경영 관리 MOOC로 이루어져 있다. 컴퓨터 공학 강의와 그 외의 다른 MOOC도 조금 있다.




■ 기계 학습(Machine Learning)의 간단한 역사 - 137~ 139p.


기계 학습(Machine Learning)은 1950년대에 처음 소개되었다. 초기의 기계 학습은 다양한 종류의 정보를 처리하는 규칙을 기반으로 한 시스템과 관련 있으며 개발자의 많은 노력이 필요했다. 또한, 매우 특정한 영역에 제한적으로 사용되었고 한번 배포되고서는 개선하기가 어려웠다. 시간이 흘러 기계 학습분야에 많은 연구가 수행되면서 더 복잡하고 더 민첩한 시스템이 나왔는데, 그중에서 주목받는 것은 1990년대에 매우 인기가 높았던 인공신경망(ANNs: Artificial Neural Networks) 이다. 인공 신경망은 인간의 뇌가 가지는 인지 기능을 모방하는 것으로, 간단하지만 확장할 수 있는 수학적 모델을 이용한다. 이 모델은 인지 기능을 일반화할 수 있고 한번 겪은 정보를 유지할 수 있다.


도구가 계속 개발되면서 기계 학습은 실제로 다양한 곳에 응용되는 매우 실질적인 분야로 성장해왔다. 마주하는 문제를 해결하려면 가정에 근거하기보다는 실질적인 데이터 처리를 할 수 있는 진보시스템을 이용해야 한다. 이는 종종 패턴 인식(Pattern Recognition)이라 불리며, 매우 중요한 데이터 분석(특히, 통계적이지 않은 데이터 분석)의 한 단면으로 남아있다. 실제로 대부분 통계적이지 않은 데이터 분석에 패턴 인식 기법이 사용되고 있다.


패턴 인식 응용 프로그램과 기계 학습이 구현된 하드웨어에 사용되는 중요한 기술이 하나 있다. 바로 퍼지 논리(Fuzzy Logic)라는 기술이다. 이 방법은 딱히 정해지지 않은 논리 집합을 이용하여 주어진 조건을 더 유연한 모델로 만들어 준다. 특히, 시스템의 상태가 언어를 이용해서 표현되었을 때(예를 들어, 뜨겁다, 따뜻하다, 미지근하다, 차다, 등) 더욱 그렇다. 1964년 자데(Zadeh) 교수가 처음 만들어 낸 이후 퍼지 논리는 많은 인기를 끌고 있으며, 인공신경망(ANN)과 함께 사용하여 더 발전하고 견고한 뉴로-퍼지 분류기(Neuro-Fuzzy Classifier, ANFIS라고도 함)라는 기계 학습 시스템이 개발되었다. 퍼지 논리는 인공 지능의 초석이 되었고 오늘날도 여전히 널리 쓰이고 있다.


2000년대 들어서, 혁신적인 적응형 프로그래밍(Adaptive Programming, 현재 환경에 따라 다르게 작동하는 프로그램)이 나타남에 따라 기계 학습 시스템의 질서가 바뀌었다. 데이터 수집과 처리, 경험에서 배우기, 정보 추상화 그리고 효율/정확도의 최적화 등, 이런 다양한 작업을 수행할 수 있는 적응형 프로그램이 실행되는 다목적인 기계들이 늘어났다. 또한, 프로그래밍 언어들(주로 웹을 위한)이 더 생겨나고, 컴퓨터 공학이란 직업은 더욱 인기를 끌고 유용해졌다. 


요즘은 데이터를 다루는 컴퓨터 시스템이라면 기계 학습을 기본으로 내재하고 있다. 아주 단순한 클러스터 노드라고 할지라도, 기계 학습 알고리즘이 완전히 배제되지는 않는다(클러스터링 기반 검색 엔진이 점차 널리 쓰이고 있으며, 이런 측면에서 가장 대표적인 엔진이 Clusty와 lxquick이다). 


한 가지 두드러지는 것이 있는데, 바로 딥 러닝(Deep Learning, 심화 학습)이다. 딥 러닝은 기본적으로 아주 발전한 인공신경망(Deep Belief Networks라고 알려진)을 이용하는데, 매우 복잡한 인공신경망 구조로 이루어진 통계자료를 포함한다. 딥 러닝은 이전에는 불가능했던 일반화를 가능하게 해준다. 더구나 사용자가 해당 분야에 어떠한 지식도 없더라도 가능하다. 딥 러닝이 사용된 아주 흥미로운 사례로 G.힌턴(G. Hinton) 교수 예를 들 수 있다. 힌턴(Hinton) 교수는 관련된 데이터 분야에 대한 아무런 지식이 없었음에도 이 기술을 이용하여 Kaggle 대회에서 1등을 차지했다.[각주:4] 딥 러닝이 음성 인식 기술(원래 이 분야에 아주 성공적으로 적용되었다) 과 연관성이 깊기는 하지만, 오늘날에는 몇몇 다른 곳에도 적용되고 있으며 점차 더 유망한 분야로 성장하고 있다.




■ 기계 학습의 미래 - 140~141p.


기계 학습은 이미 광범위하게 쓰이고 있지만, 앞으로 더욱더 다양한 방향으로 가지를 쳐 나갈 것으로 예상된다.


기계 학습의 주요한 갈래 중 하나로 스마트폰이나 시계와 같이 작은 장치에 최적화된 알고리즘이 있다. 요즘에는 인터넷에 접속할 때 여러 종류의 모바일 기기를 이용하고 있으니 터무니없는 생각은 아닐 것이다. 기계 학습 시스템에 매혹적인 것은 아마도 일 것이다. 왜냐하면, 클러스터링과 패턴 인식 같은 기계 학습 기술이 적용된 수많은 응용 프로그램들이 바로 웹 데이터에 바탕을 두고 있기 때문이다.


또 다른 주요 갈래로 통계적 인공 지능이 있다. 이는 1990년대에 매우 인기 있었으며 오늘날에도 그 가치를 인정받고 있다. 통계적 모델이 지속적으로 발전하고 있으므로, 관련 기계 학습 알고리즘이 또 하나의 독립 분야로 정립될 수도 있다.


하지만 가장 유망한 방향은 역시 딥 러닝(Deep Belief Neural Networks)이고 인간의 뇌를 모방하는 것이다. 이 분야는 세계적으로 인정받는 Ng 교수가 실리콘 밸리에서 연구하고 있다. 이 연구가 아직은 걸음마 수준이기는 하지만, 기계 학습의 한 갈래로 정립될 가능성이 농후하다.


아직 쓰이지 않은 인공지능, 예를 들어 진화연산 알고리즘(Evolutionary Computation Algorithms)을 적용한 기계 학습 또한 유망하다. 이는 복잡한 문제를 최적화 할 수 있는 잠재적 능력이 아주 우수하기 때문에 다양한 분야에 성공적으로 응용되고 있다. 진화 기반의 기계 학습 알고리즘이 계소 발전해 나간다면, 이도 역시 기계 학습에서 독립적인 위치를 가지게 될 것이다.


과학적인 관점에서 바라볼 때, 가장 흥미로운 현상은 아무런 가정을 하지 않고 데이터를 분석해 내는 시스템을 개발하는 것이다. 그런 시스템이 이미 존재하기는 하지만, 아직은 이 분야에 이론적인 프레임워크를 만들어 접근하거나 심각하게 연구된 바도 없다. 가정을 하지 않는 데이터 분석을 인공신경망(ANN)에서 사용하고 있는데, 바로 이 점이 성공의 배경이다. 이런 이론의 형태가 갖춰진다면 데이터 세계에 대한 우리의 이해가 더 넓어지고 탄탄한 이론을 배경으로 해서 더 흥미롭게 기계 학습을 응용해 나갈 수 있다.


오늘날에는 전혀 알려지지 않은(아직 개발되지 않았기 때문에) 기계 학습도 진화의 과정을 거치고 이다고 단언할 수 있다. 중요한 점은 바로 이 유망한 분야가 아직은 잠재력이 제대로 알려지지 않았고, 우리 실생활과 데이터 과학에 어떤 이익을 가져다줄지 알 수 없다. 그러므로 항상 눈여겨 바라볼 필요가 있다. [각주:5]




■ 기계 학습과 R 참고 자료 - 156~157p.


○ 기계 학습 관련 자료


- Andrew Ng 교수가 강의하는 기계학습 온라인 강좌  www.coursera.org/learn/machine-learning

- Pedro Domingos 교수가 강의하는 기계 학습 온라인 강좌  www.coursera.org/course/machlearning

- Jeff Leek 박사의 실용 기계 학습 강좌  www.coursera.org/course/predmachlearn

- Pattern Classification 2nd edition, Richard Duda 등저 (이 주제를 다룬 최고의 참고 서적)  ☞ Google Books

- Machine Learning in Action, Peter Harrington 저 (설명하는 알고리즘을 구현하기 위한 Python에 초점을 맞춘 서적)  ☞ Google Books

- Machine Learning in R 발표 자료  http://www.slideshare.net/kerveros99/machine-learning-in-r

- Machine Learning Connection 온라인 모임 (linkedIn)  https://www.linkedin.com/groups/Machine-Learning-Connection-70219/about

- Geoffrey Hinton 교수의 강좌, Neural Networks for Machine Learning  https://www.coursera.org/course/neuralnets


○ R 관련 자료


- cran.R-project.org 사이트 (R 플랫폼 자체뿐만 아니라, 체계화가 잘된 R 라이브러리 목록)

- journal.r-project.org 사이트 (세계에 퍼져있는 사용자를 통해 알 수 있는 R 프랫폼의 최근 개발 상황)

- R in a Nutshell, Joseph Adler 저 (훌륭한 R 참고 서적, 하지만 R을 배우기에는 적당하지 않다. R에 이미 친숙한 사람들을 위한 책)  ☞ Google Books

- Introduction to Machine Learning with R : Data Science Step-by-Step, Daniel Gutierrez 저

- Getting Started with Rstudio, John Verzani 저 (RStudio IDE의 모든 것을 배울 수 있는 훌륭한 자료)  ☞ Google Books

- Roger Peng 교수의 Computing for Data Analysis 강좌  www.coursera.org/course/compdata

- Andrew Conway 교수의 Statistics One 강좌  www.coursera.org/course/stats1

- Jeff Leek 교수의 Data Analysis 강좌  www.coursera.org/course/dataanalysis

- Alison Gibbs 교수와 Jeffrey Rosenthal 교수의 Statistics: Making Sense of Data 강좌  www.coursera.org/course/introstats

- The R Project for Statistical Computing 온라인 모임 (linkedin.com)

- R Programming 온라인 모임 (linkedin.com)



■ 유용한 웹사이트 - 308~310p.


www.kaggle.com, networking, data analysis competitions, job posts

기계 학습 실무자뿐만 아니라, 데이터 과학자에게도 가장 인기 있는 웹사이트 아직 즐겨찾기로 등록하지 않았다면 지금 당장 추가하라!


www.linkedin.com, networking, job posts, online resume

경력과 상관없이 어떤 전문가에게나 이상적인 가장 유용한 소셜 미디어. 가입할 그룹이 많으며, 다른 데이터 과학자와 관계를 맺고 배울 최적의 장소


www.datasciencecentral.com, articles, job posts, networking, news, background knowledge

데이터 과학에 대한 가장 인기 있는 고품질의 포털 사이트. 신입이나 약간의 경험이 있는 데이터 과학자에게 이상적이다. 새로운 혁신을 찾아보고 배울 수 있는 최적의 장소.


www.coursera.com, online learning, networking

스탠퍼드 대학에서 두 명의 교수가 설립한 가장 잘 개발된 MOOC 제공처. 데이터 과학 주제에 대한 몇 개의 코스가 있다. 각 코스에 대한 포럼도 인맥을 쌓기에 훌륭한 장소이다.


https://datascience101.wordpress.com, news

이 분야에 새롭게 진입하는 사람들이 최신 개발과 유용한 강의 등을 업데이트할 수 있는 아늑한 장소


http://cran.r-project.org/, R, news, software

R을 사용한 개발에 더욱 익숙해지고, 유용한 패키지를 내려받을 수 있는 훌륭한 장소


www.indeed.com, job posts, online resume

가장 널리 알려진 구직 사이트


http://whatsthebigdata.com, news, background knowledge, articles, big data

빅데이터에 대한 이해를 넓히고 이 분야의 새로운 개발 사항을 읽을 수 있는 재미 있는 장소


http://www.bigdatauniversity.com, online learning, big data

빅데이터에 대한 기술 노하우를 얻을 수 있는 최고의 사이트 중 하나. IBM이 만들고 운영한다.


http://www.r-project.org, R, news, software

데이터 분석용 오픈소스 플랫폼에 대한 개발자 사이트


http://www.eclipse.org, Eclipse, news, software

가장 인기 있는 오픈소스 객체지향 프로그래밍 통합 개발 환경(IDE)에 대한 개발자 사이트


http://hadoop.apache.org, big data, Hadoop, software

가장 인기 있는 빅데이터 기술 플랫폼에 대한 개발자 사이트


http://www.careerealism.com, job hunting

자신을 알리는 방법과 인터뷰 방법 등 구직 요령이 담긴 훌륭한 사이트


http://stackoverflow.com, technical questions

다양한 기수적 질문(예를 들어, R에 대한)에 대한 답을 찾을 수 있는 훌륭한 사이트


http://coursetalk.org, online learning

MOOC 학생들을 위한 포털 사이트. 다양한 온라인 학습 포털로부터 학생들이 수강하는 강의에 대한 여러 관점을 게시한다.


www.class-central.com, online learning

Coursera나 edX와 같이 다른 사이트로부터 이용 가능한 다양한 MOOC를 발견할 수 있는 훌륭한 사이트


www.technicspub.com, offline learning

데이터 과학을 포함하여 다양한 분야를 다루는 기술 서적에 대한 최고의 사이트


www.python.org, OOP, Python, software

데이터 분석에서 가장 인기 있는 객체지향 언어의 하나인 파이써네 대한 개발자 사이트


www.gnu.org/software/octave, OOP, Octave, software

Matlab과 비슷한 가장 인기 있는 오픈소스 데이터 분석 플랫폼에 대한 개발자 사이트


www.mathworks.com/matlabcentral, OOP, MAtlab, software

가장 인기 있는 데이터 분석 플랫폼(등록 제품)에 대한 개발자 사이트


www.tableau.com, data visualization, software

가장 인기 있는 데이터 시각화 소프트웨어(등록 제품)에 대한 개발자 사이트


www-01.ibm.com/software/data/infosphere/biginsights, big data, software

빅데이터를 다루는 가장 유망한 에코시스템에 대한 개발자 사이트(하둡 기반)


http://git-scm.com, version control, software

가장 인기 있는 버전 관리 프로그램에 대한 개발자 사이트


www.datascience201.com?idk=21QD6, online learning

초보자를 대상으로 데이터 과학 분야의 새로운 내용을 배울 수 있는 흥미 있는 사이트


www.cs.toronto.edu/~hinton, inspirational

세계에서 가장 유명한 데이터 과학자 중 한 명의 홈페이지




■ 관련 자료 - 311~314p.


Rise of the Data Scientist  http://flowingdata.com/2009/06/04/rise-of-the-data-scientist

지난 몇 년에 걸친 데이터 과학자의 인기에 대한 글과 관련 전문 기술, 데이터 과학자 역할에 대한 다른 관련 정보를 다루는 글


The Rise of Data Products  www.datacommunitydc.org/blog/2013/01/the-rise-of-data-products

최근 데이터 제품(산출물)의 인기에 대한 글


Describing how different industries have capitalized Big Data  http://visual.ly/describing-how-different-industries-have-capitalized-big-data

오늘날 다양한 산업에 걸친 빅데이터의 역할을 표현한 인포그래픽


Big data equals big opportunities for businesses [Infographic]  https://gigaom.com/2011/09/30/big-data-equals-big-opportunities-for-businesses-infographic/

다양한 산업에서 빅데이터의 역할에 대한 인포그래픽


A Very Short History of Data Science  http://whatsthebigdata.com/2012/04/26/a-very-short-history-of-data-science/

초기부터 지금까지 데이터 과학의 주요 이정표를 정리한 글


A Very Short History Of Data Science  http://www.forbes.com/sites/gilpress/2013/05/28/a-very-short-history-of-data-science/

데이터 과학의 역사에 대한 또 다른 글


Big Data – Storage Mediums & Data Structures   http://planet.jboss.org/post/big_data_storage_mediums_data_structures

데이터 저장소와 커다란 데이터 집합을 저장하는 데이터베이스에 대한 유용한 글


Data Exploration  http://www.techopedia.com/definition/28789/data-exploration

데이터 과학 프로세스에서 데이터 탐색과 그 역할에 대한 유용한 문서와 자료


Hadoop Fatigue - Alternatives to Hadoop  http://www.bytemining.com/2011/08/hadoop-fatigue-alternatives-to-hadoop/

빅데이터를 다루는 하둡의 가장 잘 알려진 대안에 관한 글


4 Hot Open Source Big Data Projects  http://www.enterpriseappstoday.com/data-management/4-hot-open-source-big-data-projects.html

하둡의 대안에 대한 또 다른 글


What is Apache Hadoop?  http://radar.oreilly.com/2012/02/what-is-apache-hadoop.html

하둡 에코시스템의 개요


Data Visualization  apandre.wordpress.com/tools/comparison

오늘날 인기 있는 다양한 데이터 시각화 도구를 비교한 글


What is Machine Learning?  mlplatform.nl/what-is-machine-learning

기계 학습의 주요 이정표 몇 가지에 대한 개요


History of Machine Learning  sge.wonderville.ca/machinelearning/history/history.html

기계 학습의 모든 이정표를 포함한 광범위한 설명


Machine Learning & Statistical Learning  http://cran.r-project.org/web/views/MachineLearning.html

R의 기계 학습 관련 라이브러리(패키지)의 전체 목록


Data Scientist Core Skills  datasciencecentral.com/profiles/blogs/data-scientist-core-skills

데이터 과학자에게 요구되는 기술에 대한 글


Big data 용어 정리

- Analytics and Big Data Glossary  data-informed.com/glossary-of-big-data-terms

- An Extensive Glossary Of Big Data Terminology  bigdata-startups.com/abc-big-data-glossary-terminology

- Glossary of Computer Terms  www.mhhe.com/business/buscom/gregg/docs/appd.pdf



<데이터 과학자>

차하리아스 불가리스 지음, 안성준 옮김

프리렉, 2014



데이터 과학자: 빅데이터 시대를 주도하는 사람들
국내도서
저자 : 차하리아스 불가리스(Zacharias Voulgaris) / 안성준역
출판 : 프리렉(이한디지털리) 2014.11.06
상세보기


  1. 네트워크로 연결된 여러 대의 컴퓨터가 같이 처리하는 방법 [본문으로]
  2. 실시간으로 이해하기 쉽도록 그래픽 형태로 보여주는 사용자 인터페이스 [본문으로]
  3. MOOC(Massive Open Online Course): 보통 무료 온라인 강좌를 지칭하고 누구에게나 개방되어 있다. 그리고 dictionary.com에 의하면 대단히 많은 사람이 강좌를 들으려고 등록하고 있다고 한다. [본문으로]
  4. Scientists See Promise in Deep-Learning Programs (http://www.nytimes.com/2012/11/24/science/scientists-see-advances-in-deep-learning-a-part-of-artificial-intelligence.html?_r=0) [본문으로]
  5. 꼭 필요한 사항은 아니지만, 기계 학습 모임에 참여해서 최신 사항을 살펴볼 필요가 있다. LinkedIn에 다음과 같은 두가지 모임이 있다. ① Machine Learning Connection과 ② Pattern Recognition, Data Mining, Machine Intelligence and Learning. [본문으로]

+ Recent posts