データ分析のための機械学習入門

機械学習理論から実行環境の紹介、Pythonプログラミング、ディープラーニング、TensorFlow、scikit-learn、Hadoop、リアルタイム集計など、いま、エンジニアに欠かせない、最新技術のエッセンスを、288ページの中に濃縮し、解説します。
LINE株式会社 橋本 泰一

いまの人工知能を支えているものは、データ、計算環境、アルゴリズム、プログラムです。膨大なデータが手に入らなければ、人工知能は作り出せません。そして、膨大なデータを処理する計算環境、アルゴリズム、プログラムがなければ、人工知能は作り出せません。
本書では、具体的なデータ分析事例を交えながら、機械学習理論から実行環境の紹介、Pythonプログラミング、ディープラーニング、TensorFlow、scikit-learn、Hadoop、リアルタイム集計など、いま、エンジニアに欠かせない、最新技術のエッセンスを、288ページの中に濃縮し、解説します。
企業の情報システム担当や、データアナリスト、プログラマ-、また、AIのプログラミングの実際を知りたいすべてのエンジニアに、この本を読んでいただきたいです。
サンプルコードは、書籍のサポートサイトからダウンロードできます。

以下に、本書を書かれた著者さんのプロフィールを掲載します。

◎橋本泰一(はしもと たいいち)
東京工業大学大学院情報理工学研究科計算工学専攻 博士課程修了。
東京工業大学 助手(助教)、特任准教授。9年間の教員期間では、テキストマイニング関連の研究および学内外の情報システム開発のマネジメントを行う。
その後グリー株式会社に勤務。ユーザーの不正投稿検知や処理、データ分析基盤のソフトウェア開発に携わる。
2014年からLINE株式会社に勤務。専門領域は自然言語処理、情報検索、データマイニング。現在は同社にてデータ分析システムおよび機械学習インフラの開発・運用を担当するチームのマネージャーとして従事。
情報処理学会、人工知能学会、言語処理学会各会員。

◎著者さんの直筆POPが目印!

< 目次 >

■第1章 人工知能と機械学習
●1-1 人工知能とは?
▲1-1-1 膨大なデータからある特徴的な機能を提供する「人工知能」

●1-2 BIはAIの夢を見るか
▲1-2-1 ビジネスを支えるAIと機械学習エンジニア

●1-3 現在の人工知能は「知能」なのか?
▲1-3-1 人工知能がデータ分析を行う日

●1-4 まとめ

■第2章 データ分析処理のための基盤技術
●2-1 Hadoop ~大規模データを処理するインフラ~
▲2-1-1 Hadoopとは?
▲2-1-2 MapReduce処理

●2-2 Hive ~Hadoop上でより容易にデータ処理を実現~
▲2-2-1 Hiveとは?

●2-3 Presto ~高速なデータ処理を実現する~
▲2-3-1 Prestoとは?

●2-4 Spark ~より高速な分散計算処理環境~
▲2-4-1 Sparkとは

●2-5 その他のHadoopに関連するミドルウェア
▲2-5-1 その他のHadoopミドルウェア

●2-6 さまざまなHadoopディストリビューション
▲2-6-1 Hadoopディストリビューションとは?

●2-7 BIツール ~処理されたデータを可視化~
▲2-7-1 BIのあれこれ
▲2-7-2 Pentaho
▲2-7-3 Zeppelin

●2-8 まとめ

■第3章 リアルタイムにデータを分析する ~データから「いま」を知る技術~
●3-1 Fluentd
▲3-1-1 データをリアルタイムに収集する

●3-2 Norikra
▲3-2-1 データをリアルタイムに集計する

●3-3 事例 ~Twitterの人名のリアルタイム計測~
▲3-3-1 リアルタイムで人名を計測する
▲3-3-2 Ruby環境を整える
▲3-3-3 Fluentdのセットアップ
▲3-3-4 Twitter Streamin APIとの連携
▲3-3-5 FluentdのMeCabプラグインの作成
▲3-3-6 Norikraのセットアップ
▲3-3-7 NorikraとFluentdの接続
▲3-3-8 Norikraにキーワード集計用のクエリを登録
▲3-3-9 ElasticSearchとKibanaによる可視化
▲3-3-10 Norikura、Fluentd、ElasticSearchとKibanaの連携

●3-4 まとめ

■第4章 機械学習アルゴリズム ~データから「未来」を知る技術~
●4-1 機械学習とは
▲4-1-1 「レストラン予約」で機械学習を考える

●4-2 機械学習アルゴリズム
▲4-2-1 機械学習アルゴリズムの概要
▲4-2-2 機械学習アルゴリズムの分類

●4-3 ナイーブベイズ
▲4-3-1 ナイーブベイズとは
▲4-3-2 ナイーブベイズの理論
▲4-3-3 ナイーブベイズの具体例
▲4-3-4 ナイーブベイズの実装
▲4-3-5 ナイーブベイズのまとめ

●4-4 単純パーセプトロン
▲4-4-1 単純パーセプトロンとは?
▲4-4-2 パーセプトロンの学習
▲4-4-3 パーセプトロンの実装
▲4-4-4 パーセプトロンの問題点
▲4-4-5 パーセプトロンのまとめ

●4-5 オンライン学習
▲4-5-1 オンライン学習とは
▲4-5-2 オンライン学習版パーセプトロン
▲4-5-3 Passive Aggressiveアルゴリズム
▲4-5-4 オンライン学習のまとめ

●4-6 サポートベクトルマシン
▲4-6-1 サポートベクトルマシンとは?
▲4-6-2 サポートベクトルマシンの理論

●4-7 線形回帰
▲4-7-1 「回帰」のアルゴリズムについて

●4-8 自己回帰
▲4-8-1 過去のデータから目的関数を推定する手法

●4-9 クラスタリング
▲4-9-1 クラスタリングのアルゴリズムについて

●4-10 MapReduceと機械学習
▲4-10-1 機械学習アルゴリズムの大規模データへの適用

■第5章 ディープラーニング
●5-1 単純パーセプトロンとその仲間たち
▲5-1-1 単純パーセプトロン(おさらい)
▲5-1-2 ロジスティック回帰とは
▲5-1-3 多項ロジスティック回帰

●5-2 ニューラルネットワーク
▲5-2-1 単純パーセプトロンとニューラルネットワークの違い
▲5-2-2 ニューラルネットワーク
▲5-2-3 ユニット
▲5-2-4 誤差逆伝播法
▲5-2-5 プログラムの例
▲5-2-6 単純パーセプトロン、ロジスティック回帰、多項ロジスティック回帰、ニューラルネットワーク

●5-3 畳み込みニューラルネットワーク
▲5-3-1 畳み込みニューラルネットワークとは?
▲5-3-2 畳み込み層(convolution layer)
▲5-3-3 プーリング層(pooling layer)
▲5-3-4 多層ニューラルネットワーク
▲5-3-5 畳み込みニューラルネットワークの学習

●5-4 再帰型ニューラルネットワーク
▲5-4-1 再帰型ニューラルネットワークとは
▲5-4-2 再帰型ニューラルネットワークの学習

●5-5 TensorFlow
▲5-5-1 インストール
▲5-5-2 多項ロジスティック回帰
▲5-4-3 多層ニューラルネットワーク
▲5-5-4 畳み込みニューラルネットワーク
▲5-5-5 続・畳み込みニューラルネットワーク

●5-6 まとめ