機械学習(マシーンラーニング)とは

 

機械学習とは

 

まず2つの定義(古いものと最近のもので微妙に違いがあるようです)を紹介し、その後アルゴリズムについて説明します。

 

機械学習の定義

  • コンピュータに明示的にプログラムすることなく学習する能力を与える研究分野(アーサー・サミュエル:1959)
  • コンピュータプログラムはある課題Tについて、ある性能指標Pに基づき、もしTについて性能が基準Pで測定して、経験Eと共に改善している場合に、経験Eから学習したと定義できる(トム・ミッチェル:1998)

 

前者の方は、やや古く非形式的な定義になります。これはチェッカーゲームを機械に学習させたことを理由に考えた定義になります。(チェッカーゲームの試合を何万回も行い、コンピュータに勝つための配置を学習させた)

後者は現代の定義です。しかしこれも「課題T:勝つこと」「経験E:何万回もの試合」「性能標準P:次の試合」と置き換えることで前者のチェッカーゲームによりできた定義と似ています。

 

機械学習アルゴリズム

  • 教師あり学習(Supervised Learning)
  • 教師なし学習(Unsupervised Learning)
  • 強化学習(Reinforcement learning)
  • レコメンダーシステム(Recommender system)

 

基本的に上記のアルゴリズムを駆使して、問題を解決していきます。ここで大切なのは、このアルゴリズムをどのように正しく使うかであり、ベストプラクティスな決断ができるかできないかで数か月以上が無駄になることもあり得ます。

道具を得ても使い方を誤っていれば、どんな優れた道具も無意味です。次は正しくアルゴリズムを使用するために、まず「教師あり学習」アルゴリズムの説明をします。