トップページ | ひとつ上のページ | 目次ページ | このサイトについて | ENGLISH

データサイエンス教室

機械学習

人工知能 の分野で「学習」と言えば、機械学習のことを言います。

「機械がどうやって学ぶのか?」と考えてしまうと、難しくなってしまいますが、 機械学習の実体は 統計モデルによる予測 と同じです。 基本の手順は、とてもシンプルです。

基本の手順の簡単な例

この例は、機械学習の基本の基本です。 画像認識のような高度な機械学習をするのでしたら、もっと複雑でたくさんのデータを使って、複雑なルールを使う必要がありますが、 基本的な手順は同じです。

機械学習の種類

「○○学習」というのは、いくつかあります。

機械学習の新しさ

比較的古くからある問題解決や課題達成の思想と、機械学習の思想の違いの大きなところは、 ヒューリスティクス を認めるかどうかにあるようです。

古くからの思想では、最初から完璧な答えを見つけようとして、結局、答えに行き着けなかったり、 その時は完璧な答えを見つけたと思ったのに、実は違った、という事があるように思います。

一方、機械学習の思想では、だんだん完璧になれば良いと思っているので、データが少なくてもサービスが開始できたり、 途中で流行が変わっても、柔軟に対応できます。

昨今、 ベイズ統計 の解説書が急増していますが、機械学習が世の中に受け入れられるようになった事が大きいように思います。 ベイズ統計と機械学習は、思想がぴったり合っていますので。



参考文献

機械学習をすぐにやってみたい人向け

知りたい分かりたい人の体験する機械学習 フリーソフトWekaによる実践講座」 高橋佑幸 著 リックテレコム 2015
決定木 、サポートベクターマシン、 ニューラルネットワークナイーブベイズアソシエーション分析クラスター分析テキストマイニング についてコンパクトな解説があります。
形態素解析ソフトのMeCabとWekaのナレッジフローを使った解析の手順が、かなり詳しく解説されています。


フリーソフトではじめる機械学習入門」 荒木雅弘 著 森北出版 2014
様々な手法について、Wekaでの実施例があります。 強化学習、 ニューラルネットワークベイジアンネットワーク決定木Ridge回帰、Lasso回帰、等、主な手法の理論について、解説があり、とてもコンパクトにまとまっています。 アンサンブル学習として、バギングやブースティングも詳しいです。
RapidMinerについても、入門的な解説が少し付いています。


Pythonではじめる機械学習 scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎」 Andreas C.Muller, Sarah Guido 著 オライリー・ジャパン 2017
Pythonを使った機械学習について、具体的な話がコンパクトにまとまっています。
特徴量の準備では、専門家の知識が役に立つ話もあります。 例として、自転車のレンタルの利用のされ方をモデルにする時に、 「時刻」だけを説明変数に使ったのでは、 予測の精度の問題だけでなく、 予測自体ができない話があります。 この例では、 「曜日」や「時間帯」という説明変数を加えることが、 この問題の解決になっています。


Rによるデータサイエンス」  金明哲 著 森北出版 2007
バギングやブースティングがコンパクトにまとまっています。


学問として学ぶ本

機械学習 データを読み解くアルゴリズムの技法」 P.Flach 著 朝倉書店 2017
9章までで、モデルの種類とタスクの関係。10章が特徴量。11章がアンサンブル学習
機械学習の関心は、正しい特徴量(feature)を用いて、正しいモデルを作り、正しいタスクをこなすこと。
幾何モデル : 直線、平面、距離などの概念で分類。線形モデル、k平均法など。
確率モデル : 条件付き確率などで分類
論理モデル : 決定木、if-thenルールなどで分類。論理的な表現による学習を、概念学習と呼ぶ。
モデルは特徴量以上に良くはなれないので、特徴量が機械学習の成否の大部分を決定。
特徴量とは、インスタンス空間から特徴空間への写像。 特徴量の構築や選択は、行列の積の形で考えることができる。
特徴量のカテゴリーは、中心傾向の統計量(平均値など)、ばらつきの統計量(標準偏差など)、形状統計量(歪度、尖度など)


はじめての機械学習」  小高知宏 著 オーム社 2011
C言語のプログラムの説明が詳しく、実際にプログラミングしながら学べるようになっています。 機械学習の方法は5つに分けられています。
パラメタ調整による学習 : 回帰分析・時系列データの傾向からの予測
帰納的学習 : 形態素分析(テキストマイニング)
教示学習 : 教師あり学習。 与えられたデータのカテゴリ分けの方法には、 論理式(and や or で表現)、 判断木(Yes と No で表現)、 プロダクションシステム(if文で表現)がある。
規則の学習 : 焼きなまし法遺伝的アルゴリズム
ニューラルネット : ニューラルネットワーク


機械学習 新たな人工知能」  エテム・アルペイディン 著 日本評論社 2017
従来はプログラマーがプログラムを書いてやっていたことを、今は機械学習のモデルにデータを入れれば自動でできるようになって来ている、と考えています。 従来の方法の産物の例として、 エキスパートシステムオントロジー を挙げています。


制御と学習の人間科学」 斎藤正男 著 コロナ社 2005
高校生でも充分読めそうなやさしい文章で、制御・計測・学習・記憶を解説しています。 情報量遺伝的アルゴリズムニューラルネットワーク も、やさしく紹介しています。
制御・計測・学習・記憶の部分は、制御の入門書、学習の入門書としても読めますが、 バラバラではなく、つながった話になっています。 また、これによって、人間の仕組みを持つ機械がどのようなものになるのかが、理解できるようになっています。 内容は、分野横断的です。
最後の方は、機械が人間の仕組みを持つ時代の話になっていて、 仮想空間も日常生活の一部となり、仮想空間からの働きかけで、現実に癒されたりする話が出て来ます。 銀河鉄道999の世界を想起させる内容でした。


知能システム工学入門」 松本啓之亮・黄瀬浩一・森直樹 共著 コロナ社 2002
モデル化・表現方法・探索法・確率的推論・機械学習・遺伝的アルゴリズム


やわらかい情報処理」 吉田紀彦 著 サイエンス社 2003
ニューラルネットワーク遺伝的アルゴリズム ・強化学習・分散人工知能・ ゲーム理論 について、 それぞれの関わりにも触れつつ、まとめられています。


パターン認識と学習の統計学」 甘利俊一・麻生英樹・津田宏治・村田昇 著 岩波書店 2003
この本は、 パターン認識 の手法全般、 カーネル法 、バギングとブースティングの 3つの部分に分かれていて、それぞれの著者が異なります。


オンライン機械学習」 海野裕也・岡野原大輔・得居誠也・徳永拓之 著 講談社 2015
オンライン学習だけでなく、人工知能や機械学習の歴史や勉強の仕方から、解説が始まっています。 ただし、扱っている機械学習は、 ニューラルネットワークサポートベクターマシンロジスティック回帰分析 になっていて、2クラス分類問題を扱う話が中心です。 多クラス分類が少しあります。 回帰分析 のようにYが量的データの話はありません。 全体的には、オンライン学習の技術の中心は、確率的勾配降下法による最適化ですが、 この話だけではなく、計算を安定させたり高速にするための関数の話もかなりされています。
機械学習の多くのモデルは、バッチ学習の方法として、もともと作られているので、 オンライン学習にするには、目的変数を考えてから、これを確率的勾配降下法にしてアルゴリズムを求めます。 ニューラルネットワーク は、もともとがオンライン学習の方法として作られていますが、他の方法と同様に目的変数を考えてから、 オンライン学習のアルゴリズムを導出するという流れでも、説明されています。 ディープラーニング(深層学習) の場合に解を求めるための工夫の話もあります。
オンライン学習の強み:計算が速い。実装が簡単。大量のデータの保持が不要。
オンライン学習の弱み:ノイズの影響を受けやすい。
オンライン学習の基礎になるのが、確率的勾配降下法。 勾配降下法は、目的変数の勾配を使って、最適値を見つける方法。 確率的勾配降下法は、データをひとつずつ使って、その都度パラメータを更新する。
ロジスティック回帰では、解を安定させるために、 正則化 項を加える。



順路 次は 教師ありと教師なしの学習

Tweet