機械学習

出典: フリー百科事典『ウィキペディア(Wikipedia)』
ナビゲーションに移動 検索に移動

機械学習きかいがくしゅう: machine learning、略称: ML)は、明示的な指示を用いることなく、その代わりにパターンと推論に依存して、特定の課題を効率的に実行するためにコンピュータシステムが使用するアルゴリズムおよび統計モデルの科学研究である。機械学習は人工知能の部分集合と見なされている。機械学習アルゴリズムは、タスクを実行するように明示的にプログラムされることなく予測や決定を行うために、「訓練データ」として知られるサンプルデータに基づいて数学モデルを構築する。機械学習アルゴリズムは、電子メールフィルタリングコンピュータビジョンのように、タスクを効果的に実行するための従来のアルゴリズムを開発することが困難または実行不可能な、様々なアプリケーションで使用されている。

機械学習は、コンピュータを使って予測を行うことに焦点を当てた計算統計学と密接に関連している。数学的最適化の研究は、機械学習の分野に、方法、理論、応用分野を提供する。データマイニングは機械学習の研究分野であり、教師なし学習による探索的データ解析に焦点を当てている。ビジネス上の問題の応用において、機械学習は予測分析とも呼ばれる。

概要[編集]

機械学習という名前は1959年にアーサー・サミュエルによって造語された[1]。 トム・M・ミッチェルは、機械学習の分野で研究されているアルゴリズムのより正式な、広く引用されている定義である「コンピュータプログラムが、ある種のタスクTと評価尺度Pにおいて、経験Eから学習するとは、タスクTにおけるその性能をPによって評価した際に、経験Eによってそれが改善されている場合である」を提供している[2]。 機械学習が関係しているタスクのこの定義は、この分野をコグニティブな用語で定義するのではなく、根本的にオペレーショナルな定義を提供しています。これは、彼の論文 「Computing Machinery and Intelligence」の中のアラン・チューリングの提案に続くもので、"機械は考えることができるのか?"という質問が、"私たち(思考主体)ができることを機械ができるのか?"という質問に置き換えられている[3]。  チューリングの提案では、思考する機械が持つことができる様々な特性と、それを構築する上での様々な意味合いが明らかにされている。

機械学習タスク[編集]

サポートベクターマシンは、データを線形境界で区切られた領域に分割する教師付き学習モデルである。ここでは、線形境界が黒丸と白丸を分けている。

機械学習のタスクは、いくつかの大まかなカテゴリに分類される。教師あり学習では、アルゴリズムは入力と出力の両方を含むデータセットから数学モデルを構築する。例えば、ある画像に特定のオブジェクトが含まれているかどうかを判断するタスクの場合、教師付き学習アルゴリズムのトレーニングデータは、そのオブジェクトが含まれている画像と含まれていない画像(入力)を含み、各画像はオブジェクトが含まれているかどうかを示すラベル(出力)を持つことになる。特別なケースでは、入力は部分的にしか利用できなかったり、特別なフィードバックに制限されたりすることがある。半教師付き学習アルゴリズムは、サンプル入力の一部がラベルを持たない不完全な訓練データから数学モデルを開発する。

分類アルゴリズムと回帰アルゴリズムは教師あり学習の一種である。分類アルゴリズムは、出力が制限された値のセットに制限されている場合に使用される。電子メールをフィルタリングする分類アルゴリズムの場合、入力は受信電子メールであり、出力は電子メールをファイルするフォルダの名前になる。スパムメールを識別するアルゴリズムでは、出力は「スパム」または「スパムではない」の予測であり、ブーリアン値のtrueとfalseで表される。回帰アルゴリズムは連続的な出力であることからそのような名前が付けられており、範囲内の任意の値を持つことができる。連続値の例としては、物体の温度、長さ、価格などがある。

教師なし学習では、アルゴリズムは、入力のみを含み、希望する出力ラベルを含まないデータセットから数学モデルを構築する。教師なし学習アルゴリズムは、データポイントのグループ化やクラスタリングのように、データの構造を見つけるために使用される。教師なし学習は、特徴学習のように、データのパターンを発見し、入力をカテゴリにグループ化することができる。次元削減とはデータの集合内の「特徴」、つまり入力の数を減らすプロセスである。

能動学習アルゴリズムは、予算に基づいて限られた入力のセットに対して所望の出力(訓練ラベル)にアクセスし、訓練ラベルを取得する入力の選択を最適化する。インタラクティブに使用される場合、これらはラベリングのために人間のユーザーに提示することができる。強化学習アルゴリズムは、動的な環境で正または負の強化の形でフィードバックを与えられ、自動運転車や人間の対戦相手とゲームをするための学習に使用される[4]。機械学習における他の専門的なアルゴリズムには、コンピュータプログラムに自然言語文書のセットを与え、類似したトピックをカバーする他の文書を見つけるトピックモデリングがある。機械学習アルゴリズムは、密度推定問題において、観測不可能な確率密度関数を求めるために使用することができる。メタ学習アルゴリズムは、過去の経験に基づいて独自の帰納的バイアスを学習する。発達ロボティクスでは、ロボット学習アルゴリズムは、カリキュラムとも呼ばれる学習経験のシーケンスを独自に生成し、自己誘導型の探索や人間との社会的相互作用を通じて、新しいスキルを累積的に獲得する。これらのロボットは、能動的学習、成熟、運動相乗効果、模倣などの誘導メカニズムを使用する

汎化(一般化)[編集]

この文脈における汎化(一般化)とは、学習用データセットを使って訓練した後に、未知の例について正確に判断できるアルゴリズムの能力をいう。学習者の最も重要な目的は、経験から一般化することである[5]。訓練例は、一般に未知の確率分布に従っており、学習者はそこから新たな例について有用な予測を生み出す何か一般的なもの、その分布に関する何かを引き出す必要がある。

人間との相互作用[編集]

機械学習システムによっては、人間の直観によるデータ解析の必要性を排除しようとしているが、人間と機械の協調的相互作用を取り入れたものもある。しかし、そもそもシステムのデータ表現方法やデータの特徴を探る機構は、人間が設計したものであり、人間の直観を完全に排除することはできない。

データマイニングとの関係[編集]

機械学習とデータマイニングは交差する部分が大きく、技法も同じなので混同されることが多いが、次のように定義できる。

  • 機械学習の目的は、訓練データから学んだ「既知」の特徴に基づく予測である。
  • データマイニングの目的は、それまで「未知」だったデータの特徴を発見することである。

この2つは、さまざまな面でオーバーラップしている。データマイニングは、機械学習の技法を使うが、その目的は若干異なることが多い。一方、機械学習もデータマイニングの技法を「教師なし学習」として、あるいは学習者の正確性を向上させる前処理として用いる。2つの研究領域は、ECML PKDD という例外はあるが、基本的に学会も学術誌も別々である。それらの間の混同の最大の原因は、それらの基本的前提に由来する。機械学習では、既知の知識を再生成できるかどうかで性能を評価するが、データマイニングではそれまで「未知」だった知識を発見することが重視される。したがって、既知の知識によって評価するなら「教師なしの技法」よりも「教師ありの技法」の方が容易に優れた結果を示すことができる。しかし、典型的なデータマイニングでは、訓練データが用意できないので、「教師ありの技法」を採用することができない。

アルゴリズムの分類[編集]

機械学習のアルゴリズムは、要求される結果により以下のように分類される。

教師あり学習
入力とそれに対応すべき出力(人間の専門家が訓練例にラベル付けすることで提供されることが多いのでラベルとも呼ばれる)を写像する関数を生成する。例えば、分類問題では入力ベクトルと出力に対応する分類で示される例を与えられ、それらを写像する関数を近似的に求める。
教師なし学習
入力のみ(ラベルなしの例)からモデルを構築する。データマイニングも参照。
半教師あり学習英語版
ラベルありの例とラベルなしの例をどちらも扱えるようにしたもので、それによって近似関数または分類器を生成する。
強化学習
周囲の環境を観測することでどう行動すべきかを学習する。行動によって必ず環境に影響を及ぼし、環境から報酬という形でフィードバックを得ることで学習アルゴリズムのガイドとする。例えばQ学習がある。
トランスダクション英語版(トランスダクティブ推論)
観測された具体的な(訓練)例から具体的かつ固定の(テスト)例の新たな出力を予測しようとする。
マルチタスク学習英語版
関連する複数の問題について同時に学習させ、主要な問題の予測精度を向上させる。

理論[編集]

機械学習アルゴリズムとその性能についての分析は、理論計算機科学の一分野であり、計算論的学習理論英語版と呼ばれている。訓練例は有限であるのに対して、未来は不確かであるため、学習理論は一般にアルゴリズムの性能を保証できない。その代わりに、性能の確率的範囲を与える。 Wassily Hoeffding英語版によるヘフディングの不等式英語版など統計的学習理論という表現もある。[6]

それに加えて、学習の時間複雑性と実現可能性についても研究している。計算論的学習理論では、多項式時間で終了する計算を実現可能とみなす。

機械学習と統計学は、多くの点で似ているが、使用する用語は異なる。

統計的機械学習[編集]

統計的機械学習とは、機械学習のうちデータの確率的な生成規則を学習するもの[7]を指す。

統計学母集団と標本、そこに存在する確率分布に着目した方法論である。統計的機械学習ではデータが母集団から確率的に得られると考え、データの生成過程を確率分布を用いてモデル化し、実際のデータに基づいてモデルの学習(あるいはモデル選択自体の学習)をおこなう。母集団からデータが得られる、母集団からのサンプリングによってデータが生成されると解釈できるため、統計的機械学習のモデルは生成モデル・統計モデルとも呼ばれる[8]

標本に基づいた母集団(パラメータ)の推定・選択は統計学において長く研究され、多くの理論が存在する。統計的機械学習における学習はまさに母集団の推定・選択であるため、統計学の理論が機械学習に適用できる。学習の収束や汎化性能など様々な機械学習の課題が統計学の知識体系を用いて研究されている。

統計的機械学習の例としては、ニューラルネットワークにおける生成モデル、例えば自己回帰型生成ネット、変分オートエンコーダー(VAE)、敵対的生成ネットワーク(GAN)などが挙げられる。これらのモデル(=母集団)から実際にサンプリングすれば画像や音声といったデータが生成できるため、特にニューラルネットワークの分野では2010年代後半に非常によく研究され大きな成果をあげている(WaveNet、VQ-VAE-2、BigGANなど)。

数理最適化[編集]

多くの機械学習手法はデータに対するモデル出力の誤差を定義し、誤差を最小化するようにパラメータの更新(学習)をおこなう。誤差を計算する関数、すなわち損失関数を最小化する学問体系は応用数学において数理最適化(解かれる問題は最適化問題)と呼ばれる。

例えばニューラルネットワークでは損失関数に対して微分をおこなう勾配法確率的勾配降下法など)で学習がしばしばおこなわれる。勾配法による最適化が最適解に収束するか否かは数理最適化の理論によって研究される。また用いられる最適化法によってニューラルネットワークに課される制約も異なり、勾配法を用いるには連続する関数適用がすべて微分可能である(バックプロパゲーションが可能である)ことが求められる(生成モデルのサンプリングに強く制約を与える)。

技法[編集]

決定木学習
決定木予測モデル英語版として使用した学習であり、アイテムについての観測をそのアイテムの目標値についての結論とマッピングする。具体例としてID3Random forestがある。
相関ルール学習英語版
大規模データベースにおける変数間の興味深い関係を発見するための技法。
ニューラルネットワーク (NN)
人工ニューラルネットワーク (ANN) とも呼ばれ、生物の神経ネットワークの構造と機能を模倣するという観点から生まれた学習アルゴリズムである。人工神経を相互接続したもので計算を構造化し、コネクショニズム的計算技法で情報を処理する。現代的ニューラルネットワークは非線形統計データモデリングツールである。入力と出力の間の複雑な関係をモデル化するのに使われ、データのパターン認識や観測された変数間の未知の同時分布における統計的構造を捉えるなどの用途がある。
遺伝的プログラミング (GP)
生物の進化を模倣した進化的アルゴリズムに基づく技法であり、ユーザーが定義したタスクを実行するプログラムを探索する。遺伝的アルゴリズムを拡張・特化させたものである。所定のタスクを実行する能力によって適応度地形を決定し、それによってコンピュータプログラムを最適化させていく機械学習技法である。
帰納論理プログラミング英語版 (ILP)
例、背景知識、仮説を一様な表現とし、論理プログラミングを使って学習を規則化する技法である。既知の背景知識と例の集合をコード化して事実の論理データベースとし、全てのポジティブな例を含み、ネガティブな例を全く含まない仮説的論理プログラムを生成する。
サポートベクターマシン (SVM)
分類回帰に使われる一連の教師あり学習技法である。訓練例のラベルは二値分類(2つに分類される)であり、訓練アルゴリズムによってモデルを構築し、新たな例がどちらに分類されるかを予測する。
クラスタリング
クラスタリングは、観測された例をクラスタと呼ばれる部分集合に振り分けるもので、振り分けは事前に指示された基準に従って行う。クラスタリングはデータの構造についての仮説(基準)の立て方によって結果が異なる。仮説は「類似尺度」で定義され、「内部コンパクト性」(同一クラスタ内のメンバー間の類似性)や異なるクラスタ間の距離によって評価される。「推定密度」や「グラフ接続性」に基づく技法もある。クラスタリングは教師なし学習技法であり、統計的データ解析でよく使われる。
ベイジアンネットワーク
確率変数群とそれらの条件付き独立性英語版有向非巡回グラフ (DAG) で表した確率論的グラフィカルモデルである。例えば、病気と症状の関係を確率的に表すことができる。そのネットワークに症状を入力すれば、考えられる病気の一覧を確率付きで出力できる。これを使って推論と学習を行う効率的アルゴリズムが存在する。
強化学習
「エージェント」が「環境」の中でどのような「行動」をとるべきかを、何らかの長期的「報酬」を最大化するよう決定する。環境の「状態」からエージェントの行動への写像を行う「方針」を求めるのが強化学習アルゴリズムである。正しい入出力例は与えられないし、最適でない行動が明示的に訂正されることもないので、教師あり学習とは異なる。
表現学習英語版
教師なし学習アルゴリズムの一部は、訓練中に提供された入力のよりよい表現を発見しようとする。古典的な例として主成分分析クラスタ分析がある。入力の持つ情報は保持したまま、分類や予測の前に入力をより便利な表現に変換するアルゴリズムもある。その際に入力データが従っている未知の確率分布から入力を再建できるようにするが、その確率分布においては信じがたい例も忠実に再現する必要はない。例えば多様体学習英語版アルゴリズムは、何らかの制約下で入力の次元を低く変換して表現する。スパースコーディング英語版アルゴリズムでは、入力が疎ら(ゼロが多い)という制約下で同様の表現の変換を行う。ニューラルネットワークの深層学習は複数レベルの表現または特徴の階層を発見するもので、低いレベルで抽出した特徴から高いレベルの抽象化した特徴までを求める。知的機械は、観測されたデータを説明する偏差の潜在的要因を解きほぐす表現を学習するものだという主張もある[9]
エクストリーム・ラーニング・マシン (ELM)
1層もしくは複数の隠れ層を有する順伝播型ニューラルネットワークであり,分類や回帰,クラスタリングへ適用できる。

応用分野[編集]

機械学習には以下のような応用分野がある。

2006年、オンラインDVDレンタル会社ネットフリックスは、同社のレコメンダシステムより10%以上高性能な(ユーザーの好みをより正確に予測する)プログラムを捜す競技会 Netflix Prize を開催した。この競技会は数年かけて行われ、AT&T Labs のチームが「プラグマティック・ケイオス」[10]という機械学習プログラムで2009年に優勝し100万ドルを獲得した[11]

実応用[編集]

以下のものがある:

分類 具体例
認識[12] 画像認識 顔認証[13]
監視業務[13]
検査・検品[13]
画像の整理[13]
医療診断[13]
音声認識 音声入力[14]
議事録の自動作成[14]
コールセンターの補助または代替[14]
文章解析・文章認識 不正文章検知[15]
ニーズの把握[15]
過去の類似事例検索[15]
異常検知 故障の検知[16]
不審行動検知[16]
デフォルトの検知[16]
分析[12](多くは予測[17] 数値の予測 売上げなどの需要予測[18]
株価や経済指標の予測[18]
所要時間の予測[18]
劣化の予測[18]
品質の予測[18]
イベント発生の予測 購買や解約の予測[19]
故障の予測[19]
疾病の予測[19]
相性の予測[19]
対処[12] 行動の最適化 在庫の最適化[20]
広告の最適化[20]
キャンペーンの最適化[20]
出店の最適化[20]
配送の最適化[20]
作業の最適化 自動運転[21]
ロボット制御[21]
Q&Aの自動化[21]
表現の生成 翻訳[22]
要約[22]
画像生成[22]


ソフトウェア[編集]

各種機械学習アルゴリズムを備えたソフトウェアスイートとして、SASRapidMinerLIONsolverKNIMEWekaODMShogun toolboxOrangeApache Mahoutscikit-learnmlpyMCMLLOpenCVXGBoostJubatus などがある。

データロボット社[23]による複数の手法を並列計算させて比較する方法がある[24]

学術誌と国際学会[編集]

脚注[編集]

  1. ^ Samuel, Arthur (1959). “Some Studies in Machine Learning Using the Game of Checkers”. IBM Journal of Research and Development 3 (3): 210–229. doi:10.1147/rd.33.0210. 
  2. ^ Mitchell, T. (1997). Machine Learning. McGraw Hill. pp. 2. ISBN 978-0-07-042807-2 
  3. ^ Harnad, Stevan (2008), “The Annotation Game: On Turing (1950) on Computing, Machinery, and Intelligence”, in Epstein, Robert; Peters, Grace, The Turing Test Sourcebook: Philosophical and Methodological Issues in the Quest for the Thinking Computer, Kluwer, pp. 23–66, ISBN 9781402067082, http://eprints.ecs.soton.ac.uk/12954/ 
  4. ^ Bishop, C. M. (2006), Pattern Recognition and Machine Learning, Springer, ISBN 978-0-387-31073-2 
  5. ^ Christopher M. Bishop (2006) Pattern Recognition and Machine Learning, Springer ISBN 0-387-31073-8.
  6. ^ 統計的学習理論, 金森敬文, 機械学習プロフェッショナルシリーズ, 講談社, 2015, ISBN 9784061529052
  7. ^ "統計的機械学習理論と ボルツマン機械学習" 安田 宗樹. 山形大学
  8. ^ 上田. "統計的機械学習入門" NII. https://www.youtube.com/watch?v=wqb3k22toFY&t=478
  9. ^ Yoshua Bengio (2009). Learning Deep Architectures for AI. Now Publishers Inc.. p. 1–3. ISBN 978-1-60198-294-0. http://books.google.com/books?id=cq5ewg7FniMC&pg=PA3 
  10. ^ : Pragmatic Chaos
  11. ^ "BelKor Home Page" research.att.com
  12. ^ a b c #本橋2018 1.3章「人工知能の利用用途」「人工知能の3つの役割」の冒頭付近。
  13. ^ a b c d e #本橋2018 1.4章「認識の具体例」図1-4「画像認識の具体例」
  14. ^ a b c #本橋2018 1.4章「認識の具体例」図1-5「音声入力の具体例」
  15. ^ a b c #本橋2018 1.4章「認識の具体例」図1-6「文章解析・文章認識の具体例」
  16. ^ a b c #本橋2018 1.4章「認識の具体例」図1-7「異常検知の具体例」
  17. ^ #本橋2018 1.5章 「分析とは?」冒頭
  18. ^ a b c d e #本橋2018 1.5章「分析の具体例」図1-8「数値の予測の具体例」
  19. ^ a b c d #本橋2018 1.5章「分析の具体例」図1-9「イベントの発生の予測の具体例」
  20. ^ a b c d e #本橋2018 1.6章「対処の具体例」図1-10「行動の最適化の具体例」
  21. ^ a b c #本橋2018 1.6章「対処の具体例」図1-12「作業の具体化の具体例」
  22. ^ a b c #本橋2018 1.6章「対処の具体例」図1-13「表現の生成の具体例」
  23. ^ : DataRobot
  24. ^ DataRobot: https://www.datarobot.com

参考文献[編集]

  • ピーター フラッハ, 竹村 彰通 (監訳)、「機械学習 ─データを読み解くアルゴリズムの技法─」、朝倉書店、ISBN 978-4254122183 (2017年4月5日)。
  • 本橋, 洋介 (2018/2/15). 人工知能システムのプロジェクトがわかる本 企画・開発から運用・保守まで (AI & TECHNOLOGY). 翔泳社. ASIN B078JMLVR2. ISBN 978-4798154053 

関連項目[編集]

外部リンク[編集]