機械学習 (machine learning)

機械学習とは,Arther Samuel によれば「明示的にプログラミングすることなく,コンピュータに行動させるようにする科学」 のことです. 歴史的には,人工知能の研究分野の中で,人間が日々の実体験から得られる情報の中から,後に再利用できそうな知識を獲得していく過程を,コンピュータにおいて実現したいという動機から生じました. 現在では,数値・文字・画像・音声など多種多様なデータの中から,規則性・パターン・知識を発見し,現状を把握や将来の予測をしたりするのにその知識を役立てることが目的となっています.

しましまの私見に基づいて,機械学習の各種の問題を整理しました.

他分野との関連

過学習と汎化誤差

過学習と汎化誤差は,機械学習を活用するうえで非常に重要な概念です.

例えば,過去の天気から,明日の天気を当てる規則を学習するとしよう.過去1週間のデータは,どの日も「晴れ」であったため「天気はどの日も晴れ」という規則を考える.この規則は,過去1週間のデータについては完全に正解を与えるが,明日の天気についてはどうだろうか?もちろん「雨」や「曇」の可能性があり,はずれる可能性があります.

このように,規則を作るために与えられたデータに合わせすぎた規則を得てしまうことを 過学習 とよび,過去のデータについてではなく,明日のまだ見ていない状況をどれだけ言い当てられるかを定量化したものを 汎化誤差 といいます. この汎化誤差をいかに小さくするかが機械学習の課題で,過学習を防ぐために正則化事前分布などの工夫があります. また,この汎化誤差を求めるために,多くの機械学習理論も研究されています.

関連項目

モデルと客観性

機械学習アルゴリズムでは,問題の前提を定義するモデル・仮説空間と,訓練データへの不適合さを測る損失関数とを定め,モデルの中から損失関数を最小にするものを探し出します.多くの機械学習手法がありますが,どれもこの枠組みです.どれも同じ枠組みなのに,どうしてこれほど多数の方法があるのでしょうか?

例えば,沖縄と札幌の天気を予測する問題では,それぞれの都市の性質を考慮すると予測は当たり安いでしょう.沖縄では,雪は降らないということを前提としたモデルは,降る可能性も考慮した場合より有効な予測ができます.すなわち,問題に合わせて適切なモデル損失関数・探索手法を選ぶと,より効果的に予測ができるため,多様な方法が考えられてきました. あらゆる問題に対して,他のどの手法よりもよりも,うまく問題を解けるような方法は存在できないことを示す no free lunch定理 などの理論も知られています. ですので,解こうとする問題を良く知り,それに対して適切な機械学習手法を選ぶことは重要となります.

モデルによっては,同じデータから違う結果が得られることもあります,すなわち,主観によって結果が変わることがあります. どんな結果が良いかは,予測した結果が,将来実際に起きるかどうかを調べることになります. George E. P. Box の“Essentially, all models are wrong, but some are useful(全てのモデルは誤りではあるが,役に立つものもある)”は的確なイメージで,そのモデルを使うことに論理的根拠はないのですが,現実のデータの分析では役に立ちます. その性質が完全に定まっている公理に基づいて結論を得るのではなく,その性質が分かっていないデータを根拠にしているため,こうした調整はどうしても避けられません. こうした部分も機械学習の難しさです.

関連項目

学習の枠組みに基づく分類

どのような手順で,どういった構成のデータを与え,どういう基準に基づいて学習するかといった枠組みでの分類です.

その他の条件によってもいろいろな学習の形態があります.

関連項目

データの性質に基づく分類

データの性質の違いによってもいろいろな対処が考えられています.

関連項目

リンク集

日本語の資料

英語のチュートリアル資料

その他の英語資料

ポータルサイト・組織

Freeware

統合環境・コマンド群

ライブラリ

特定のアルゴリズムの実装は,それぞれのアルゴリズムのページにまとめています.Freeware からたどって下さい.

レポジトリ

python用については python のページを参照

C/C++用

java 用

matlab/octave/scilab 用 (octaveのページも参照)

その他

関連文献

以下は,しましまの私見に基づく本の紹介です.機械学習を学ばれたいと思われた場合に参考にしていただければと思います.

入門

大学1〜3年,センスがあれば高校の人向けです. こうした分野に全くなじみが無い場合には,最初にこれらの本をざっと読んでもよいと思います.

中級

大学 3〜4年から修士の人向け. 機械学習の基本概念と各種のアルゴリズムを俯瞰できる本. それぞれ,特徴があるので,組み合わせて読んでもよいと思います.

発展

修士以上の人向けのものや,英語のものを取り上げました.


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-07-19 (木) 15:37:37