본문 바로가기

리디북스 접속이 원활하지 않습니다. 새로 고침(F5)해주세요.
계속해서 문제가 발생한다면 리디북스 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기

RIDIBOOKS

리디북스 검색

최근 검색어

'검색어 저장 끄기'로 설정되어 있습니다.


리디북스 카테고리



머신 러닝 워크북 상세페이지

컴퓨터/IT 개발/프로그래밍

머신 러닝 워크북

머신 러닝, 자바로 실습하고 이해한다

구매종이책 정가35,000
전자책 정가28,000(20%)
판매가28,000
머신 러닝 워크북

책 소개

<머신 러닝 워크북> 머신 러닝, 어떻게 사용할 것인가?

당신이 궁금해하는 그 질문을 컴퓨터에게 던져라!
매장 어디에 상품을 두면 더 잘 팔릴까? -> 각 매대의 판매량을 분석하자
요즘 유행하는 건 뭐지? -> 해시태그를 모아 트렌드를 알아보자
사람들은 이 문제를 어떻게 생각할까? -> 트위터의 글을 수집해 긍정적인지 부정적인지 살펴보자
이 모든 질문의 대답을 컴퓨터가 대신 답하도록 만들어라.

자바로 배운다!
주 도구로 웨카와 이클립스를 사용하여 머신 러닝을 학습한다. 웨카에서 제공하는 데이터 분석 알고리즘인 의사결정트리, 베이지안 네트워크, 서포트 벡터 머신, 클러스터링을 실습한다. 또한, 웨카가 만들어 내는 자바 코드를 분석하고 활용 방법을 배운다.

다양한 도구로 머신 러닝의 전체 상을 살펴본다!
머신 러닝으로 결과를 얻으려면 데이터를 수집하고 변환한 다음, 데이터 분석 알고리즘을 사용하여 모은 데이터를 처리해야 한다. 전체 과정을 도구 하나로 모두 처리할 수는 없다. 데이터의 성격에 따라 선택하는 도구도 달라진다. 머하웃, 스프링 XD, 하둡, 스쿱, 피그, 맵리듀스, 스칼라, 스파크, R, rJava를 설치하고 사용해보면서 각 도구의 특징을 알고 적재적소에 사용하자.

<지은이 서문>

데이터, 데이터, 데이터. 뉴스에서도, 보고서나 백서에서도, 심지어 텔레비전에서도 빅데이터와 데이터 과학을 이야기한다. 소셜 미디어, 전화기, 사물인터넷 기기, 센서, 그외 무엇이든 데이터를 만드는 것이라면 거기서 나오는 데이터를 모두 수집하고 연구하여 뭔가 의미 있는 작업을 해야 한다고 압박한다.
영업 전략에서 중요한 것은 데이터의 양과 속도다. 홍수처럼 밀려오는 데이터를 경험해 본 사람들은 데이터를 빠르게 처리할 수 없다고 말하며 데이터 관련 서비스를 계속 이용하라고 말한다. 이 말에도 일리가 있겠지만, 그대로 따르기 전에 잠시 이 문제를 생각해보자.
데이터 마이닝과 머신 러닝은 수 년 전부터 우리 주위에 있었다. 최근 빅데이터를 둘러싼 대형 매체는 데이터의 양에 집중하고 있다. 자세히 들여다보면 적용하는 머신 러닝 알고리즘은 수 년 전과 변한 게 없다. 달라진 것은 적용되는 규모다.
데이터를 만드는 여러 조직을 보면 (개인적인 생각이지만) 정말 미미하다. 구글, 페이스북, 트위터, 넷플릭스 그리고 몇몇 기업이 알고리즘 학습과 도구로 가득한 뉴스 헤드라인 대부분을 독차지한다.
여기서 여러분이 가진 진짜 문제는 이것이다.
"나는 데이터를 어떻게 적용해야 하는가?"
이 책에서도 머신 러닝의 빅데이터 측면을 살펴본다(무시할 수 없는 주제다). 그러나 데이터에서 통찰력을 얻는 큰 그림의 작은 요소에 불과하다.
여러 가지 도구를 배우면서 자신의 작업에 맞는 도구를 찾는 과정임을 기억하라. 출판사에서는 하둡을 가르쳐주었으면 하겠지만, 하둡이 모든 작업에 항상 적절한 도구는 아니다.

이 책의 목적
이 책은 머신 러닝을 다룬다(빅데이터가 아니다). 이 책은 데이터에서 통찰력을 얻는 여러 가지 방법을 다룬다. 책의 마지막 페이지까지 여러 가지 머신 러닝 방법을 살펴보고, 실무에 사용할 수 있는 코드를 설명한다. 자신의 문제에 알맞게 머신 러닝 기술을 적용하는 방법을 배우기를 바란다.
이 책을 활용하는 데 있어 옳고 그른 방법은 없다. 처음부터 차근차근 시작하여 끝까지 읽어도 좋고, 필요할 때 알고 싶은 부분만 찾아서 읽어도 좋다.

‘실습(Hands-On)’은 실습이다
내가 읽었던 많은 머신 러닝 책은 모두 심오한 이론을 다루었다. 그게 나쁘다는 것은 아니다. 복잡한 수식이 가득한 심도 있는 이론을 찾고 있다면 그 열정을 칭찬하고 싶다. 나는 실습을 통해 학습하거나 프로젝트에 접근하고자 한다. 나의 철학은 단순하다.
·질문에서 시작하라
·배워야 하는 이론을 찾아라
·배우기 쉬운 예제를 많이 찾아라
·예제를 프로젝트에 적용하라
나는 소프트웨어 개발자로서 많은 예제를 살펴보기 좋아한다. 또한, 직접 개발하는 시간뿐만 아니라, 선생님으로서 학생들에게 간단한 메시지를 주는 것도 좋아한다. 키보드 위에서 바쁘게 움직이는 손가락, IDE에서 코딩하며 보내는 시간, 멋지게 일이 처리되는 모습 등을 이 책에서 전달하고 싶다.
모든 사람에게는 자신만의 학습 스타일이 있다. 이 책은 가장 일반적인 방법을 다루고 있으므로 모든 사람에게 도움이 되리라 믿는다.

“수학을 먼저 배울까요?”
좋아하는 축구팀이 다른 팀보다 낫다, 지미 페이지가 제프 백보다 훌륭한 기타리스트다(나는 제프 백을 더 좋아한다) 같이 영원한 논쟁거리가 몇 가지 있다. 머신 러닝을 시작하기 전에 수학을 얼마나 알아야 하는가 역시 또 하나의 논쟁거리다.
머신 러닝을 직접 하는 것과 머신 러닝 이론을 배우는 것은 전혀 별개의 문제다. 이론을 배우려면 수학적인 배경이 필요하다. 그러나 이 책은 실습을 통해 머신 러닝에 접근한다. 지금 당장 개발자가 이용할 수 있는 수많은 머신 러닝 도구를 손에 쥐고, 이 도구들이 어떤 원리로 움직이는지는 굳이 알 필요 없다. 배워야 하는 것은 도구를 어떻게 활용할 것인가다. 어떻게든 노력하여 어려운 작업을 마무리한다면 당연히 칭찬 받고 격려 받을 만하다.
"그래도 박사학위는 필요하다"
이 말은 여러분을 멈칫하게 만들 것이다. 데이터 분석을 시작하기도 전에 또는 여러분이 데이터 과학자라고 말하기도 전에 필요한 지식 수준에 대한 긴 논쟁을 하는 데 화가 날 것이다.
개인적으로 몇 년을 투자해 석사나 박사학위를 취득한다면 이 길을 좀 더 거리낌 없이 갈 수 있다. 학위 취득은 실용적이며 책을 읽고 직접 실행해보는 것이 좋다.
학구적인 것은 중요하다. 수학, 통계, 데이터 마이닝에 관한 수많은 온라인 강좌, 논문, 웹사이트, 서적은 마음속 열망을 채우기에 충분하다. 나도 이런 리소스를 많이 이용한다.
그러나 나는 직접 데이터를 다루고, 메서드를 시험해보고, 결과를 살펴보는 것을 가장 좋아한다. 여러분이 선형회귀 이론을 다시 공부해야 한다면 다른 읽을 거리도 많고, 이 책에서도 물론 다룰 것이므로 안심하라.
누구나 데이터 과학자가 될 수 있을까? 머신 러닝팀은 다양한 재능을 가진 사람들로 구성하는 것이 더 현실적이다. 이는 2장에서 더 자세히 이야기하겠다.
그러므로 다른 사람들이 프로젝트에 박사 인력을 들여올지 말지 논의하는 동안 여러분은 의사결정트리를 만들어 가능 여부를 확인해보라.

이 책으로 무엇을 배울 것인가?
처음부터 끝까지 이 책을 모두 읽는다면 머신 러닝의 일반적인 활용, 처리하는 다양한 방법, 실시간 처리와 배치 처리를 배울 수 있다.
물론 원하는 부분만 참조하는 것도 괜찮다. 각 장과 예제는 다른 장을 참조하지 않아도 학습할 수 있도록 작성했다.
이 책의 목적은 실습으로 일반적인 머신 러닝 개념을 다루는 것이다. 무료 도구와 라이브러리를 사용하여 여러분이 가진 데이터에서 통찰력을 얻기에 부족하지 않을 것이다.

이론과 실무 균형 맞추기
머신 러닝과 데이터 마이닝에 관한 책은 많지만, 이론과 실무적인 예제 사이에서 균형을 맞춘 책은 많지 않다. 이 책을 기획할 때 실무와 사용하기 쉬운 예제의 중요성을 강조하고 단계별로 설명하고자 했다.
이론은 중요하지 않다는 말이 아니다. 무엇을 배우고 싶은지, 어떻게 배울 것인지가 이 책을 읽는 방법을 결정한다.
처음 두 장은 여러 도구와 실제 결과를 사용하여 머신 러닝을 계획하면서 머신 러닝과 데이터 마이닝을 정의한다. 주요 장(3장부터 8장)에서는 학습하고 확인하고 기억할 수 있도록 만든 실무적인 가이드와 설명을 곁들인 부분 코드, 기타 유용한 정보 등을 이용하여 머신 러닝의 여러 가지 이론을 살펴본다.
마지막으로 실시간 처리, 배치 처리 방법, 각각을 어떻게 통합하는가를 배운다. 그리고 아파치 스파크와 통계학에 뿌리를 둔 R을 알아본다.

각 장의 개요
1장은 "머신 러닝이란 무엇인가?"라는 질문과 머신 러닝의 정의, 어디에서 사용되는가, 접하게 될 알고리즘의 종류가 무엇인지를 다룬다. 또한, 머신 러닝의 인간적인 측면과 앞으로 여러분의 모델과 작업이 경쟁력을 가지려면 무엇이 필요한지 이야기한다.
실제 코딩에 앞서 계획이 필요하다. 2장에서는 머신 러닝을 계획하는 데 집중한다. 계획에는 데이터 과학팀과의 관계, 가공, 필요한 스토리지 정의, 사생활 보호, 데이터 정리, 만병통치약 같은 하나의 솔루션이 없다는 사실을 이해하는 것이 포함된다. 2장에서는 처리에 앞서 데이터를 관리하는 데 도움이 되는 몇 가지 편리한 리눅스 명령으로 작업한다.
의사결정트리는 일반적인 머신 러닝 방법이다. 결과나 모델 속에 관측된 움직임과 여러 입력 자료(시그널과 특성)를 사용하여 새로운 데이터가 들어올 때 결과를 예측한다. 3장에서는 데이터와 웨카를 사용한 예제 코딩으로 의사결정트리 디자인을 살펴본다.
베이지안 네트워크는 랜덤 변수 집합의 조건부 의존성을 나타낸다. 4장에서는 간단한 예제를 통해 어떻게 베이지안 네트워크가 작동하는지 알아보고 거기에 사용하는 코드를 살펴본다.
중추 신경계에서 영감을 얻은 신경망 모델은 딥러닝 시스템에서 여전히 사용되고 있다. 5장에서는 머신 러닝의 한 분류인 신경망 모델이 어떻게 작동하는지 보여주고 네트워크로 입력 정보를 전달하는 예제를 선보인다.
장바구니 분석에 관심이 있다면 6장을 주목하자. 6장에서는 연관 규칙 학습을 배우고, 대형 데이터 내에서 관계를 찾아본다. Apriori 알고리즘이 오늘날 대형 소매 유통 산업에서 어떻게 사용되는지 면밀히 살펴볼 것이다.
서포트 벡터 머신은 지도 학습 모델로서 데이터를 분석하여 패턴을 인지하는 방법이다. 7장에서 텍스트 분류와 기타 예제를 살펴본다.
8장에서는 클러스터링을 다룬다(개체를 그룹 짓는 방법이다). 클러스터링은 마케팅의 세그먼트 분석 같은 것에 가장 적합하다. 최초 학습 단계에서 시행착오법을 시도하려는 경우 최고의 머신 러닝 방법이다.
9장과 10장은 튜토리얼이다. 9장의 예제는 실시간 처리에 관한 것이다. 스프링 XD(데이터 소화 엔진)를 사용하고 스트리밍 트위터 API를 사용하여 트윗이 생길 때마다 수집한다.
10장에서는 배치 처리로서 머신 러닝을 다룬다. 9장에서 모은 데이터로 하둡 클러스터를 만들고 여러 가지 작업을 수행해본다. 또한, 스쿱으로 데이터베이스에서 데이터를 얻고, 머하웃으로 고객에게 추천하고, 하둡과 피그로 고객 데이터를 분석하는 일반적인 이슈를 다룬다.
11장에서는 머신 러닝 영역에 새로 들어온 도구를 다룬다. 아파치 스파크를 살펴보고, 스칼라 언어를 소개한다. 스칼라는 인메모리 데이터를 대상으로 SQL 같은 쿼리를 수행한다.
R은 전 세계 통계학자들이 오랫동안 사용해온 언어다. 12장에서는 R 언어를 살펴보면서 이전 장에서 다룬 머신 러닝 알고리즘을 수행한다.

책의 소스 코드
책에서 소개한 코드는 깃허브에서 내려받을 수 있다. 주소는 https://github.com/jasebell/mlbook이다. 또한 와일리 출판사의 웹사이트에서도 내려받을 수 있다.
주소는 http://as.wiley.com/WileyCDA/WileyTitle/productCd-1118889061.html이다.
예제는 모두 자바로 작성되어 있다. 다른 언어로 지식을 확장하고 싶다면 깃허브에서 검색해보라. 흥미로운 예제를 찾을 수 있다.
코드는 각 장별로 구분되어 리포지토리 폴더에 저장되어 있다. 추가 라이브러리가 필요하다면 README파일을 참고하라.

<옮긴이 서문>

옮긴이 서문을 요청 받고 글을 쓰려고 [머신 러닝(Machine Learning)] 원서를 옆에 두어 보았다. 같이 고생한 책이 곁에 있어줘야 안심이 된다. 사실 지난 가을에 책을 받으면서, ‘깨끗하게 읽고 책장에 기념으로 잘 모셔 둬야지’ 했는데, 마시던 커피를 같이 마시는 바람에 책에는 세월의 훈장처럼 얼룩과 주름이 생겼다. 이해가 안 되는 부분에는 의사 선생님 뺨칠 정도의 악필로 알 수 없는 신경질적인 기호를 휘갈겨 두었다.

기계학습의 성공 스토리를 보며 ‘이걸 증권매매에 어떻게 활용하면 좋을까?’ 머릿속에는 지금도 그 생각뿐이다. 기계학습을 알게 된 것은 한국투자공사에 계시는 친한 형님 덕분이었다. 그 당시 매트랩으로 서포트 벡터 머신을 구현했는데, SVM이 뭔지 몰라 코딩보다 기계학습 공부를 먼저 해야 했다. SVM 덕분에 ‘기계학습'이란 존재를 알게 되었다.

직접 코딩하여 SVM, k-Means(이 책에서도 소개한다)를 주가 예측과 종목 분류에 테스트해본 적이 있는데 아직 좋은 성과를 얻진 못했다. 연장은 좋은데 목수가 신통치 못한 탓이다. 또한, 아직은 엉성한 로보어드바이저 플랫폼을 만들고 있다. 플랫폼에 사용하려는 포트폴리오 전략 중에는 주가의 움직임이 유사한 종목끼리 그룹을 만들고 분류된 그룹 내에서 펀더멘털(PER, 성장성, 이익모멘텀 등)을 이용한 투자매력도를 측정하여 롱온리 또는 롱숏 포트폴리오를 만드는 것도 있다. 주가의 움직임이 비슷한 종목을 묶을 때 이 책에서도 나오는 클러스터링 분석(Clustering Analysis)을 활용한다.

나의 이런 소박하고 엉성한 프로젝트도 있지만, 해외에는 흥미로운 프로젝트가 많다. 가령 미국 버클리대학에서 만든 딥러닝 프레임워크 ‘caffe’ 는 수많은 사물을 학습시키고, 확률적 추론을 통해 사진속 사물이 무엇인지 알아낸다고 한다. 아직 완벽하지는 않지만 http://demo.caffe.berkeleyvision.org/에 가면 데모를 볼 수 있다.

사실 이 책은 특정 분야를 심도 있게 다루는 것이 아니라 ‘이런 것도 있고 저런 것이 있다’ 정도로 기계학습을 소개하지만, 그저 말로만 풀고 마는 것이 아니라 초보적인 실습과 코딩에 발을 하나씩 담가둔다. 기계학습에 입문하고 싶은 프로그래머와 프로그래머는 아니지만 기술에 안목 있는 전문가를 위한 책이다. 누구를 가르치려고 준비하다 보면 절로 공부를 하게 된다는 말이 있는데 책을 번역하면서 나 역시 공부를 하게 되었다. 가령 초평면(Hyper-plane)이라는 용어는 골치 아픈 개념이었다. 초파리처럼 성가시고 초파리를 연상시키는 이 단어가 눈으로 볼 수 있는 것이 아니어서 머릿속으로 상상해야 한다. 중간중간 도시 전설 같은 에피소드는 고속도로의 졸음운전방지 휴게쉼터 같은 존재다.

책을 번역하면서 이해가 안 되는 부분이 여럿 있었는데, 그중에는 아무리 봐도 이건 틀린 것 같아 원저자에게 ‘이 부분 잘못 쓴 거 아닌가요?’ 라고 나름 정중하게 이메일을 보내기도 했다. 사실 원저자의 성실한 답변을 기대하지는 않았다. 서양권 사람들과 이메일을 주고 받다보면 복장이 터지는 경우가 많았기 때문이다. 열심히 긴 문장으로 메일을 보내면, 그들은 단문으로 답장을 한다. 다행히 원저자는 나름 긴 문장의 답변을 보내왔지만, 결론은 ‘자신은 틀리지 않았다’였다. 아무리 봐도 틀린 것 같아 뒷목잡고 쓰러질 일이었다.

기계학습을 공부하고 싶은 분들이 많을 것이다. 나의 전공은 기계학습이나 심지어는 데이터 사이언스가 아니다. 놀랍게도 경제학이다. 사실 전문 프로그래머 중에도 전공이 아닌데 그저 좋아서 입문하여 직업이 된 사람이 많아 그리 놀라운 일은 아니다.

나는 경제학 시간에 교수님이 칠판에 이리 저리 지우고 그려놓은 수요와 공급곡선을 보면서 ‘수요 공급곡선이 움직이며 이론을 알려주는 프로그램이 있으면 얼마나 좋을까?’하는 공상에 빠져 있던 학생이었다. 키보드를 누르면 모니터에 글자가 찍히는 게 신기했던 1학년때부터 친구와 공대 전산실에 들락날락 거리며 프로그래밍을 익혀왔고 지금도 업무가 프로그래밍이 아니지만 그저 재미있어 프로그래밍을 해오고 있다.

몇 년 전부터 불어 닥치는 빅데이터, 기계학습 열풍에 휩쓸려 기계학습을 배우려면 뭘 해야 하나 여기 저기 알아보았는데 공통된 의견은 선형대수, 확률통계, 알고리즘, 프로그래밍이 필요하다는 것이다. 프로그래밍의 경우 특히 어려워하는 분이 많은데, 나는 농담 반 사기 반 “사칙연산만 할 수 있으면 누구나 할 수 있다”라고 말하고 있다.

더구나 깃허브에 가면 좋은 기계학습 관련 오픈 소스 프로젝트가 많아 잘 선택하고 집중하여 활용하면 처음부터 직접 프로그래밍을 하지 않아도 좋은 결과를 얻으리라 본다. 프로그래밍에 초보인 분들은 초보자에게 쉽고 기계학습에 좋은 언어라고 추천되는 자바, R, 파이썬으로 시작하면 좋을 것이다. 프로그래밍 언어는 아니지만 웨카도 좋은 선택이다. 웨카나 프로그래밍 언어를 필기도구 삼아 수학, 확률통계, 알고리즘을 배워 나가면 어떨까? 근사하지 않을까? 왠지 사기 같은 소리지만 믿고 따라 해도 손해보지는 않을 것이다.



저자 소개

저자 - 제이슨 벨
저자 제이슨 벨은 25년 이상 소프트웨어 개발을 해왔으며 2002년부터 POS(POINT-OF-SALE)와 고객 데이터를 다루었다. 영국에서 DATASENTIMENT라는 회사를 설립하여 전 세계 많은 회사의 데이터 수집, 처리, 이해를 돕고 있다.

역자 - 곽승주
역자 곽승주는 한양대학교에서 경제학을 전공하고 경제학 석사를 받았다. 은행과 자산운용사(마이다스에셋자산운용)에서 근무하였고 주 업무 외에 프로그래밍과 관련하여 리스크 관련 업무 프로그램, 선물 변동성 매매, 페어트레이딩, ELS 상품 평가/백테스팅 프로그램 등을 만들어 왔다. 최근에는 DJANGO를 이용하여 포트폴리오 관리와 매매전략을 위한 플랫폼을 개발 중이다. 저서로는 『VBA를 이용한 금융공학 프로그래밍』(한빛미디어, 2009)이 있다.

목차

1장 머신 러닝이란 무엇인가?
1.1 머신 러닝의 역사
앨런 튜링
아서 사무엘
톰 미첼
요약
1.2 머신 러닝 알고리즘의 종류
지도 학습
비지도 학습
1.3 인간의 개입
1.4 머신 러닝의 활용
소프트웨어
주식 매매
로보틱스
의학과 헬스 케어
광고
소매업과 전자 상거래
게임 분석
사물인터넷
1.5 머신 러닝을 위한 프로그래밍 언어
파이썬
R
매트랩
스칼라
클로저
루비
1.6 이 책에서 사용한 소프트웨어
자바 버전 확인하기
웨카 툴킷
머하웃
스프링 XD
하둡
통합개발환경(IDE) 사용하기
1.7 데이터 저장소
UC 어바인 머신 러닝 저장소
인포침스
캐글
1.8 요약

2장 머신 러닝 계획하기
2.1 머신 러닝 순환 주기
2.2 모든 것은 질문으로 시작된다
2.3 데이터가 없어요!
지역 사회에서 시작하기
경진대회
2.4 하나로 모두 해결한다?
2.5 프로세스 정의하기
계획
개발
테스팅
보고
개선
프로덕션
2.6 데이터 팀 구성하기
수학과 통계
프로그래밍
그래픽 디자인
전문 지식
2.7 데이터 처리
내 컴퓨터 사용하기
컴퓨터 클러스터
클라우드 기반 서비스
2.8 데이터 스토리지
물리 디스크
클라우드 기반 스토리지
2.9 사생활 데이터 보안
문화 규범
세대적인 기대
사용자 데이터의 익명성
‘오싹한 선’을 넘지 마라
2.10 데이터 품질과 정리
입력 여부 확인
타입 확인
길이 확인
범위 확인
포맷 확인
브리트니 딜레마
국가 이름에는 어떤 것들이 있나?
날짜와 시간
데이터 정리에 관한 마지막 생각
2.11 입력 데이터에 대해 생각해보기
원시 텍스트
CSV
JSON
YAML
XML
스프레드시트
데이터베이스
2.12 결과 데이터에 대해 생각해보기
2.13 실험을 두려워하지 마라
2.14 요약

3장 의사결정트리로 작업하기
3.1 의사결정트리의 기본
의사결정트리의 사용
의사결정트리의 장점
의사결정트리의 한계
여러 가지 알고리즘
의사결정트리는 어떻게 작동하는가?
3.2 웨카의 의사결정트리
필요 사항
훈련용 데이터
웨카를 사용하여 의사결정트리 만들기
분류에서 자바 코드 만들기
분류기 코드 테스트하기
미래의 반복적인 작업 생각해보기
3.3 요약

4장 베이지안 네트워크
4.1 조종사부터 클리피까지
4.2 약간의 그래프 이론
4.3 약간의 확률 이론
동전 던지기
조건부 확률
복권 당첨
4.4 베이즈 이론
4.5 베이지안 네트워크는 어떻게 작동하는가?
확률 부여하기
결과 계산하기
4.6 노드의 개수
4.7 전문가의 도움
4.8 베이지안 네트워크 안내
베이지안 네트워크를 위한 자바 API
네트워크 계획하기
네트워크 코딩하기
4.9 요약

5장 인공 신경망
5.1 신경망이란 무엇인가?
5.2 인공 신경망 활용
고빈도 매매
신용 대출
데이터 센터 관리
로봇 공학
의료 모니터링
5.3 인공 신경망 뜯어보기
퍼셉트론
활성화 함수
다층 퍼셉트론
역전파
5.4 인공 신경망을 위한 데이터 준비
5.5 웨카를 사용한 인공 신경망
데이터 세트 만들기
웨카로 데이터 읽어 들이기
다층 퍼셉트론 조정하기
네트워크 훈련시키기
네트워크 변경하기
테스트 데이터 크기 늘리기
5.6 자바에서 신경망 구현하기
프로젝트 만들기
코드
CSV를 Arff로 변환하기
신경망 실행하기
5.7 요약

6장 연관 규칙 학습
6.1 연관 규칙 학습은 어느 분야에서 사용되는가?
웹 사용 로그 마이닝
맥주와 기저귀
6.2 연관 규칙 학습은 어떻게 이루어지는가?
지지도
신뢰도
향상도
확신도
프로세스 정의하기
6.3 알고리즘
Apriori
FP-Growth
6.4 장바구니 마이닝
원시 데이터 다운로드
이클립스에서 프로젝트 설정하기
아이템 데이터 파일 설정하기
데이터 설정하기
머하웃 실행시키기
결과 검사하기
모두 합치기
추후 개발
6.5 요약

7장 서포트 벡터 머신
7.1 SVM이란 무엇인가?
7.2 SVM은 어디에 사용되는가?
7.3 기본 분류 원칙
이진 분류와 다중 클래스 분류
선형 분류기
신뢰성
함숫값 최대화와 최소화
7.4 SVM으로 분류하는 방법
선형 분류 사용하기
비선형 분류 사용하기
7.5 웨카에서 SVM 사용하기
LibSVM 설치하기
분류 실습
자바와 함께 LibSVM 사용하기
7.6 요약

8장 클러스터링
8.1 클러스터링이란 무엇인가?
8.2 클러스터링은 어디에 사용되는가?
인터넷
비즈니스와 소매업
법 집행
컴퓨터 작업
8.3 클러스터링 모델
k-means는 어떻게 작동하는가?
클러스터 개수 계산하기
8.4 웨카를 사용한 k-means 클러스터링
데이터 준비하기
워크벤치를 이용한 방법
명령줄을 사용한 방법
코드를 사용한 방법
8.5 요약

9장 스프링 XD로 하는 실시간 머신 러닝
9.1 데이터 파이어호스 잡기
실시간 데이터 사용 시 고려 사항
실시간 시스템의 활용 가능성
9.2 스프링 XD 사용하기
스프링 XD 스트림
입력 소스, 싱크, 프로세서
9.3 트위터 데이터로부터 배우기
개발 계획
트위터 API 개발자의 애플리케이션 설정하기
9.4 스프링 XD 설정하기
스프링 XD 서버 시작하기
샘플 데이터 만들기
스프링 XD 셸
스트림 101
9.5 스프링 XD와 트위터
트위터 자격 인증 설정하기
첫 트위터 스트림 만들기
다음에 할 것은?
9.6 프로세서 소개
어떻게 스트림 내 프로세서 작업이 이루어지는가?
나만의 프로세서 만들기
9.7 실시간 감성 분석
기본적인 분석이 이루어지는 방법
감성 프로세서 만들기
스프링 XD Taps
9.8 요약

10장 배치 처리로 하는 머신 러닝
10.1 빅데이터인가?
10.2 배치 처리할 데이터의 고려 사항
크기와 빈도
데이터가 많은가?
처리 방법은?
10.3 배치 처리의 실전 예제
하둡
스쿱
피그
머하웃
클라우드 기반 맵리듀스
실습 시 주의사항
10.4 하둡 프레임워크 사용하기
하둡 아키텍처
싱글노드 클러스터 설정하기
10.5 맵리듀스 작업 방법
10.6 해시태그 마이닝
스프링 XD의 하둡 지원
이 예제의 목표
해시태그란 무엇인가?
맵리듀스 클래스 만들기
기존 데이터에 ETL 수행하기
머하웃으로 제품 추천하기
10.7 판매 데이터 마이닝
제 커피숍에 오신 걸 환영합니다!
작은 규모로 시작하기
Core 메서드 작성하기
하둡과 맵리듀스 사용하기
피그를 사용하여 매출 데이터 마이닝하기
10.8 배치 작업 일정
10.9 요약

11 장 아파치 스파크
11.1 스파크는 하둡의 대안인가?
11.2 자바, 스칼라 또는 파이썬?
11.3 스칼라 단기 속성 코스
스칼라 설치하기
패키지
데이터 타입
클래스
함수 호출하기
연산자
흐름 제어
11.4 스파크 다운로드와 설치
11.5 스파크 간단 입문
셸 시작하기
데이터 소스
스파크 테스트
스파크 모니터
11.6 스파크와 하둡 맵리듀스 비교
11.7 스파크로 독립 실행형 프로그램 만들기
스칼라에서 스파크 프로그램
스칼라 빌드 도구 설치하기
자바에서 스파크 프로그램
스파크 프로그램 요약
11.8 스파크 SQL
기본 개념
RDD에서 SparkSQL 사용하기
11.9 스파크 스트리밍
기본 개념
스칼라로 첫 스트림 만들기
자바로 첫 스트림 만들기
11.10 MLib: 머신 러닝 라이브러리
디펜던시
의사결정트리
클러스터링
11.11 요약

12장 R로 하는 머신 러닝
12.1 R 설치하기
OS X
윈도
리눅스
12.2 첫 실행
12.3 R-Studio 설치하기
12.4 R의 기본
변수와 벡터
행렬
리스트
데이터 프레임
패키지 설치하기
데이터를 로드하기
데이터 그리기
12.5 간단한 통계
12.6 단순 선형회귀
데이터 만들기
초기 그래프
선형 모델 회귀 분석
예측하기
12.7 기본적인 감성 분석
단어 목록을 로드하는 함수
감성 지수를 채점하는 함수 작성하기
함수 테스트하기
12.8 Apriori 연관 규칙
arules 패키지 설치하기
훈련용 데이터
거래 데이터 가져오기
Apriori 알고리즘 실행하기
결과 검사하기
12.9 자바에서 R로 접근하기
rJava 패키지 설치하기
R에서의 첫 자바 코드
자바 프로그램에서 R 호출하기
이클립스 프로젝트 설정하기
자바/R 클래스 만들기
예제 실행하기
R 작업 확장하기
12.10 R과 하둡
RHadoop 프로젝트
RHadoop에서 간단한 맵리듀스 작업
R에서 소셜 미디어 연결하기
12.11 요약

부록 A 스프링 XD 빨리 시작하기
부록 B Hadoop 1.x 빨리 시작하기
부록 C 유용한 유닉스 명령어
부록 D 추가 읽을거리


리뷰

구매자 별점

4.0

점수비율

  • 5
  • 4
  • 3
  • 2
  • 1

3명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

구매자 표시 기준은 무엇인가요?

'구매자' 표시는 리디북스에서 유료도서 결제 후 다운로드 하시거나 리디셀렉트 도서를 다운로드하신 경우에만 표시됩니다.

무료 도서 (프로모션 등으로 무료로 전환된 도서 포함)
'구매자'로 표시되지 않습니다.
시리즈 도서 내 무료 도서
'구매자’로 표시되지 않습니다. 하지만 같은 시리즈의 유료 도서를 결제한 뒤 리뷰를 수정하거나 재등록하면 '구매자'로 표시됩니다.
영구 삭제
도서를 영구 삭제해도 ‘구매자’ 표시는 남아있습니다.
결제 취소
‘구매자’ 표시가 자동으로 사라집니다.

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



본문 끝 최상단으로 돌아가기


spinner
모바일 버전