はじめに
目的
このブログは機械学習の書籍であるFoundations of Machine Learning(FML)について,筆者なりに読んで理解したところをしたためていくシリーズにするつもりです
Foundations of Machine Learning (Adaptive Computation and Machine Learning series)
- 作者: Mehryar Mohri,Afshin Rostamizadeh,Ameet Talwalkar
- 出版社/メーカー: The MIT Press
- 発売日: 2012/08/17
- メディア: ハードカバー
- この商品を含むブログを見る
この本は研究室の輪読で使用しており,自分が理解しきれなかったところを再度理解しつつ,まとめていく所存です(現在も輪読中).
ちなみに自分は機械学習を勉強し始めた最初がこの輪読会となります(機械学習のプロではないので,予めご了承ください).
本書の目次です.一応この通りに記事も書いていくつもりですが,順番が変わっていたり,飛ばしたりする箇所もあるかもしれないことはご了承ください.
- Introduction
- The PAC Learning Framework
- Rademacher Complexity and VC-Dimension
- Support Vector Machines
- Kernel Methods
- Boosting
- On-Line Learning
- Multi-Class Classification
- Ranking
- Regression
- Algorithmic Stability
- Dimensionality Reduction
- Learning Automata and Languages
- Reinforcement Learning
今回の記事では軽く,1章のIntroductionについて書いていきます.
1章 Introduction
機械学習とは
機械学習とは過去の情報(サンプル)を利用して,未知の情報の予測や分類を行うことです.
過去の情報の質と量によって学習機の精度が左右されることは容易に想像できますよね.そのため,機械学習のアルゴリズムでは時間と空間の複雑さの他に,サンプルの複雑度も導入されます.
学習アルゴリズムがうまくいくかは使用するサンプルに依存するため,機械学習はデータ分析や統計の知識も求められます(なので自分もこの辺りに関する記事も別に書くつもりでいます).
何に使われているか
最近であればあらゆるものに機械学習が使われているのではないかと思うこともありますが,一般的に知られているものは
- テキスト分類
- 自然言語処理
- 音声や画像認識
などでしょうか.
機械学習のタイプ
未知の情報の予測・分類といってもどのように予測するかを 事前に決めておかなければ,何を学習すればよいかわかりません.以下のような種類で分けられることがほとんどではないかと思います.
- 分類
ラベル付けされたサンプルが渡され,未知のデータに対して,なんのラベルが当てはまるかを予測する.
例:画像分類や文字認識など - 回帰
実数値などがサンプルとして渡され,次の実数値をピタリと予測する.
例:株価予測や天気予報など - ランキング
渡されたサンプルから基準を見出し,ランク付けし,新しいアイテムのランクを予測する.
例:Web検索など - クラスタリング
ラベル等はつけられていないサンプルをサンプルの情報から何らかの指標をもってグループわけし,未知のデータがどのグループか予測する.
例:コミュニティ抽出など - 次元削減
サンプルの重要な特徴を保持しつつ,次元を削減(パラメータを少なく)する.
例?:画像処理の前処理など
以上が大まかな機械学習の予測タイプです.機械学習でなにかする,というときはサンプルから何を知りたいか,何を予測するかで手法が(当たり前ですが)変わります.どんな手法を使うかは予め自分が機械学習に何をさせたいかはっきりさせる必要があります.
学習の種類
機械学習の学習の仕方はアルゴリズムによって異なりますが,ここにも大まかな分類が存在しています.学習の仕方によって予測タイプの得意不得意がありますので,上の分類とともに覚えることになるでしょう.
- 教師あり学習
サンプルに対して正解も共に渡され,これを元に未知のデータに対して予測できるよう学習する.
予測タイプ:分類,回帰,ランキングなど - 教師なし学習
正解が与えられず,サンプルの情報のみから未知のデータに対して予測できるよう学習する.
予測タイプ:クラスタリング,次元削減など - 半教師あり学習
半分正解がついている.
予測タイプというより,データが欠損している場合など - オンライン学習
時刻毎に入力と出力(正解)のサンプルデータが渡されていき,予測モデルを更新していく. - 強化学習
学習機がアクションを起こし,それに対して報酬が返される.この報酬が各時刻において最大になるようにアクションを学習していく.
予測タイプ:ゲームなど - アクティブ・ラーニング
学習機が能動的に(学習するにおいて)効率の良いデータを選択する.Oracle(神)に問い合わせて正解をもらい,これを学習データとして学習する.
以上が主な学習の種類となります(得意不得意があるといいながらあまり例を挙げれてないですね).
問題に対し,何を学習・予測することが解決につながるかは,人間が理解しなければなりません.このあたりを上手に把握し,適切な手法を用いることで,精度の良い予測モデルを構築することができるのでしょう.
今後の予定
今回の記事ではFMLの一章を簡単にまとめてみました.
今後も一章ずつまとめていこうかと思いましたが,一章ごとの内容を一つの記事に収めるのは大変なので,区切りのいいところで記事にしていこうと思います.
また,すべての内容に触れることはできませんので,それぞれで要点を抑えていく記事にしていけたらと思っています.
もし間違いや物申したい箇所等ありましたら,どんどん指摘いただけたらと思います.
間違った知識を広めたくもありませんし,残したくもありませんので(間違い自体は恥ずべきことではないと思います).
ご精読ありがとうございました.