「機械学習」を「無料」ではじめてみませんか!?【フリーソフトではじめる機械学習入門】

Introduction to Machine learning with freesoft Weka

 

最近、

  • 「人工知能がすごいらしい」
  • 「競合他社がビジネスに人工知能を取り入れたらしい」
  • 「うちも人工知能をやらなきゃ」

なんて思われる方も増えているのではないでしょうか。

 

近年の人工知能の進歩は、「機械学習」の進歩が大きく貢献しています。

 

人工知能の技術のなかの1つに、機械学習という分野があります。そこで革新的なブレークスルーが起こったことで、人工知能分野全体が盛り上がっています。

つまり、人工知能を活かしたければ、機械学習を活用することを考えればいいわけです。

 

じゃあ、機械学習ってなによ〜??

 

となるかもしれません。

今回はそんなあなたにぜひ読んでほしい記事になっています。

本記事の概要

機械学習をビジネスに活かして、会社をよくしたい!

最近「人工知能」ってよく聞くけど、人工知能を理解するには、機械学習というのが重要だと書きました。

 

もうご存知の方なら、書店にいって機械学習の本をみてみた方も多いかもしれません。

 

機械学習の書籍は、数式が多いものが多く、

 

機械学習っていったなんなの?

 

ってなってしまった方もおられるのではないでしょうか。

 

 

 

 

 

 

 

 

機械学習がなんなのか、サクッと理解する

機械学習は数式から学ぶ方法もありますが、具体的な例題から学ぶこともできます。

 

例題を手を動かしながら解いてみることで、

 

機械学習ってこういうもんなんだ~

 

とわかってきます。

 

具体的な良問を、無料でやれたら一番効率よくお得に勉強できますよね!

 

じつは、機械学習は、フリーソフトを使うことで、だれでも無料で実行してみることができます

 

なので、あとは機械学習のさまざまな手法を系統的に学ぶためのテキストがあれば、サクッと効率的に学ぶことができます。

 

今回は、そういった悩みをもつあなたに最適な1冊をご紹介します。

 

本書を学べば、最近話題の「深層学習(ディープラーニング)」や、人間の将棋や囲碁のチャンピオンに勝利した人工知能が搭載していた「強化学習」(深層強化学習)など、

最先端の技術を学ぶスピードも加速するはずです。

 

今回ご紹介するのはこちらになります↓

 

第2版が出ました↓

 

機械学習の全体像を、サクッとしっかりつかめる1冊

本書「フリーソフトではじめる機械学習入門」は、機械学習をはじめて学ぶ初心者の方向けに、機械学習とはなんぞや、からはじまって、さまざまな手法をわかりやすく説明しています。

 

機械学習のさまざまな手法が、All in oneで、ひとつひとつ丁寧に説明されているのが特徴の1つです。

  • 多くの手法に共通する思想・考え方
  • それぞれの手法の長所・短所

を学べます。さらに各手法の異なる点を学ぶことで、「どの手法を使うか迷ったときの指針」を得ることもできます。

 

図やイラストが多く、わかりやすいです

機械学習の初学者や数式が得意でない方も、数式はあまりないので、置いてけぼりにならずにきちんと理解できます。一方で、各方法のアルゴリズムは、擬似コードとともにシッカリ示されていて、中身もきちんと学ぶことができます。

 

なので、図やイラストを中心にサクッと読んで全体を理解し、その後、アルゴリズムなどの詳細をみて、理解を深める

 

といった2段階の使い方もありだと思います。

 

理論の後の例題には、シンプルなものが採用されているので、データの複雑さに惑わされることなく、手法の本質をスッキリ学ぶことができます。

初心者にはわかりやすい良問となっています。

 

自分のデータで試したくなるような構成になっています

例題ではフリーソフト「Weka」を使い、手を動かしながら学べます。

  • 各手法の操作の手順
  • 結果の可視化の方法
  • 結果をどう解釈するか

などが、丁寧に説明されています。画面のキャプチャー写真がありますので、順を追って迷うことなく自分のパソコン上で再現できます。Weka はフリーソフトなので、誰でもパソコンにインストールするだけで無料で使えます。

どんな例題があるのか、一覧にしました

例題では各手法の「使い方」をキッチリ学べます。

例題3−1:決定木の作成
例題3−2:識別規則の学習
例題4−1:ベイズの定理
例題4−2:ナイーブベイズ識別器の作成
例題4−3:ベイジアンネットワークの作成
例題5−1:ナイーブベイズ識別器の作成
例題5−2:ロジスティック識別器の作成
例題6−1:最小二乗法によるOR関数作成
例題6−2:3層ニューラルネットワークによる識別
例題7−1:SMO アルゴリズムによるXOR関数作成
例題7−2:SMO アルゴリズムによる識別器の作成
例題7−3:SMO アルゴリズムによる識別器作成(2)文書分類
例題8−1:回帰関数の作成
例題8−2:回帰木の作成
例題8−3:モデル木の作成
例題9−1:バギングアルゴリズムによる識別器の作成
例題9−2:ランダムフォレストによる識別器の作成
例題9−3:アダブーストによる識別器の作成
例題10−1:階層的クラスタリング
例題10−2:k-means クラスタリング
例題10−3:XMeans クラスタリング
例題10−4:LOF フィルタを用いた外れ値検出
例題10−5:EMアルゴリズムによるクラスタリング
例題11−1:Apriori アルゴリズムによる頻出項目集合の列挙
例題11−2:Apriori アルゴリズムによる連想規則の学習
例題11−3:FPGrowth アルゴリズムによる連想規則の学習
例題12−1:CRF モデルの作成と評価
例題13−1:YATSI アルゴリズムによる半教師あり学習
例題15−1:multilayerPerceptron アルゴリズムによる自己写像するニュラルネットワークの作成

 

となっています

 

章末には演習問題が3〜5題程度あり、例題と似た問題が用意されています(もちろん解答もついています)。

きちんと理解できたか確認しながら進むことができるので、初心者の方も安心です。

 

必要な手法から順に学ぶことができる

本書「フリーソフトではじめる機械学習入門」は、全15章からなっていますが、1週間に1章ずつやっていくことで、4ヶ月弱で終了することができます。

それでも時間がかかりすぎる!という方は、各章は独立して読むことができるので、必要な章から優先的に学ぶことも可能です。

仕事に使えそうな手法から優先的にサクッと身につけることもできます。慣れてくれば週末に集中して学び、週明けには新しい手法をつかえるようになるといったことも可能です。

データ活用をサクサクできるようになるので、会社でも周りの同僚からも一目置かれるようになるのではないでしょうか。

 

 

 

 

 

 

著者の荒木雅弘先生は、大学で音声対話システムを研究されている

著者の荒木雅弘先生は、音声対話システムの他にも、機械学習、セマンティックWeb、自然言語処理にも興味をもたれて、初学者向けの教科書を執筆されています。

 

「イラストで学ぶ音声認識」、「セマンティックWebとインタラクション」、「フリーソフトでつくる音声認識システム」など私も読みましたが、本書と同様に、全体像が分かりやすく説明されていて、初学者が最初に読むのにピッタリです。

 

また、フリーソフトで試しながら学べるので、記憶に残りやすく、できたという喜びも味わえながら学べるので、長続きしやすいと思います。ぜひ一度読んでみてください。おすすめです。

 

本書の構成は以下の通りです

まえがき

1章 はじめに

1−1 ビッグデータの時代
1−2 機械学習とは何か
1−3 機械学習の分類

教師あり学習
教師なし学習
中間的手法

1−4 まとめ

2章 機械学習の基本的な手順

2−1 データ収集・整理

データの収集
データの整理

2−2 前処理

データの読み込み
データの前処理

2−3 評価基準の設定
2−4 学習 k−NN法
2−5 結果の可視化
2−6 予備的実験のための環境 Explorerインターフェース
2−7 まとめ

3章 識別 ー概念学習ー

3−1 ラベル特徴に対する「教師あり・識別」問題の定義
3−2 概念学習とは
3−3 初歩的な概念学習アルゴリズム

FIND-Sアルゴリズム
候補削除アルゴリズム
初歩的な概念学習手法の限界
概念学習におけるバイアス

3−4 決定木の学習

決定木とは
ID3アルゴリズム
過学習を避ける
分類基準の再検討
数値特徴に対する決定木

3−5 規則の学習
3−6 まとめ

4章 識別 ー統計的手法ー

4−1 統計的識別とは
4−2 ベイズ識別

学習データの対数尤度
ナイーブベイズ識別

4−3 ベイジアンネットワーク

ベイジアンネットワークの概念
ベイジアンネットワークの構成
ベイジアンネットワークを用いた識別
ベイジアンネットワークの学習

4−4 まとめ

5章 識別 ー生成モデルと識別モデルー

5−1 数値特徴に対する「教師あり・識別」問題の定義
5−2 数値特徴に対するベイズ識別

数値特徴に対するナイーブベイズ識別
生成モデルの考え方

5−3 ロジスティック識別

識別モデルの考え方
ロジスティック識別器の学習
確率的最急勾配法

5−4 まとめ

6章 識別 ーニューラルネットワークー

6−1 識別関数法
6−2 誤り訂正学習
6−3 最小二乗法による学習
6−4 ニューラルネットワーク

ニューラルネットワークの構成
誤差逆伝播法による学習

6−5 まとめ

7章 識別 ーサポートベクトルマシンー

7−1 サポートベクトルマシンとは

マージン最大化のための定式化
マージンを最大化とする識別面の計算

7−2 ソフトマージンによる誤識別データの吸収
7−3 カーネル関数を用いたSVM
7−4 文章分類問題へのSVMの適用
7−5 まとめ

8章 回帰

8−1 数値特徴に対する「教師あり・回帰」問題の定義
8−2 線形回帰
8−3 バイアスと分散のトレードオフ
8−4 回帰木

回帰木とは
CART
モデル木

8−5 まとめ

9章 アンサンブル学習

9−1 なぜ性能が向上するのか
9−2 バギング
9−3 ランダムフォレスト
9−4 ブースティング
9−5 まとめ

10章 モデル推定

10−1 数値特徴に対する「教師なし・モデル推定」問題の定義
10−2 クラスタリング

階層的クラスタリング
分割最適化クラスタリング ーk-meansアルゴリズムー
自動分割最適化クラスタリング ーX−meansアルゴリズムー

10−3 異常検出
10−4 確率密度推定
10−5 まとめ

11章 パターンマイニング

11−1 ラベル特徴に対する「教師なし・パターンマイニング」問題の定義
11−2 Apriori アルゴリズムによる頻出項目抽出
11−3 連想規則抽出
11−4 FP-Growth アルゴリズム
11−5 まとめ

12章 系列データの識別

12−1 ラベル系列に対する識別
12−2 系列ラベリング問題 ーCRFー
12−3 系列識別問題 ーHMMー
12−4 まとめ

13章 半教師あり学習

13−1 半教師あり学習とは

数値特徴の場合
ラベル特徴の場合
半教師あり学習のアルゴリズム

13−2 自己学習
13−3 共訓練
13−4 YATSIアルゴリズム
13−5 まとめ

14章 強化学習

14−1 強化学習とは
14−2 1状態問題の定式化 ーK-armed bandit問題ー
14−3 マルコフ決定過程による定式化
14−4 モデルベースの手法
14−5 モデルフリーの手法

報酬と遷移が決定的なTD学習
報酬と遷移が確率的なTD学習

14−6 部分観測マルコフ決定過程による定式化
14−7 まとめ

15章 深層学習

15−1 深層学習とは
15−2 多階層ニューラルネットワークの学習
15−3 Autoencoder
15−4 RBM

一般的なボルツマンマシン
隠れノードをもつボルツマンマシン
RBMの構成

15−5 深層学習の応用
15−6 まとめ

演習問題の解答

付録A Wekaの拡張

Officialパッケージのインストール
Unofficialパッケージのインストール

付録B RapidMiner 入門

RapidMiner の起動
RapidMiner による機械学習プロセスの作成
オペレータについて
単純な学習
自動修正の活用
階層的なオペレータの活用
ブレークポイントの活用
まとめ

参考文献
あとがき
索引

となっています。

本書の最後には、以下の重要なポイントもまとめられています。

応用研究や技術開発で知っておくべき3つのポイント

1、データが大規模になった場合の対処

マルチコアやGPUを使いこなす

複数マシンでの分散処理が可能なライブラリなどを知っておくこと(Hadoop, Mahout・・・)

2、複雑なデータへの対処

系列データ:自然言語処理なども含む

構造化データ:Webページなどのグラフ構造データなど

3、プライバシーへの対処

医療記録や購買記録などの構成な利用

これら3つについては発展的な内容なので、本書「フリーソフトではじめる機械学習入門」では扱われていません。しかし本書を基礎にすることで、これらの内容を扱った専門性の高い書籍や情報を、本書の内容を基礎にしてスムーズに理解できるようになります。

 

 

第2版もございます↓

 



これからも機械学習の手法は進歩していきますが、基礎は変わりせん。

これからますます進歩していく機械学習を、しっかりキャッチアップしていくためにも欠かせない1冊です。オススメです!

 

この他にも、同じ著者のこちらの書籍もわかりやすいのでおすすめです↓

イラストで学ぶ 音声認識 (KS情報科学専門書)

フリーソフトでつくる音声認識システム パターン認識・機械学習の初歩から対話システムまで

フリーソフトで学ぶセマンティックWebとインタラクション

 

 

 

フリーソフト Weka については、こちらの入門本もございます↓

知りたい分かりたい人の 体験する機械学習

 

 

 

 

こちらもございます↓

機械学習入門 ボルツマン機械学習から深層学習まで

Pythonによる機械学習入門

入門 機械学習

Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎

フリーライブラリで学ぶ機械学習入門

はじめての機械学習

Rによる機械学習入門

機械学習スタートアップシリーズ これならわかる深層学習入門 (KS情報科学専門書)

仕事ではじめる機械学習

ベイジアンネットワーク入門―確率的知識情報処理の基礎

詳しくはこちらの記事にございます↓

「ベイジアンネットワーク」の理論的な基礎を、きちんと学びたいあなた、こちらはいかがでしょうか【ベイジアンネットワーク入門】

アンサンブル法による機械学習: 基礎とアルゴリズム

超実践 アンサンブル機械学習

機械学習スタートアップシリーズ ベイズ推論による機械学習入門 (KS情報科学専門書)

Predictive Analytics and Data Mining: Concepts and Practice with RapidMiner

RapidMiner, Second Edition: Data Mining Use Cases and Business Analytics Applications (Chapman & Hall/CRC Data Mining and Knowledge Discovery Series)

 

 

 

 

 

 

こちらの記事もございます

 

機械学習に入門したいあなたにチェックしてほしい良書、10冊はこちらです

 

 

「データマイニング」を勉強したいあなたにチェックしてほしい良書、10冊はこちらです

 

 

「数学」に関する記事の一覧(目次)はこちらです