ML)は、明示的な指示を用いることなく、その代わりにパターンと推論に依存して、特定の課題を効率的に実行するためにコンピュータシステムが使用するアルゴリズムおよび統計モデルの科学研究である。抽出し、アルゴリズムを発展させる。そのアルゴリズムは、まずそのデータ(訓練例と呼ぶ)を生成した潜在的機構の特徴(確率分布)を捉え、複雑な関係を識別・定量化する。次に学習・識別したパターンを用いて新たなデータについて予測・決定を行う。データは、観測された変数群のとる関係の具体例と見ることができる[1]。1つの根本的な課題は、全ての取りうるデータを訓練例(学習データ)に含めるのは(多くの実用的な関心事の場合)データ数が大きすぎて現実的でないという点である。したがってアルゴリズムは限られた訓練例を一般化して、新たなデータ入力から有用な出力を生成しなければならない[1]。機械学習は検索エンジン、医療診断、スパムメールの検出、金融市場の予測、DNA配列の分類、音声認識や光学文字認識などのパターン認識、ゲーム戦略、ロボット、など幅広い分野で用いられている。応用分野の特性に応じた様々な学習手法が提案されている[2]。定義編集アーサー・サミュエルは1959年に一般紙に対するインタビューとして、機械学習を「明示的にプログラミングすることなく、コンピュータに学ぶ能力を与えようとする研究分野[3]」と定義した。トム・M・ミッチェル(英語版)は、よく引用されるさらに厳格な定義として「コンピュータプログラムが、ある種のタスクTと評価尺度Pにおいて、経験Eから学習するとは、タスクTにおけるその性能をPによって評価した際に、経験Eによってそれが改善されている場合である」とした[4]。汎化(一般化)編集この文脈における汎化(一般化)とは、学習用データセットを使って訓練した後に、未知の例について正確に判断できるアルゴリズムの能力をいう。学習者の最も重要な目的は、経験から一般化することである[5]。訓練例は、一般に未知の確率分布に従っており、学習者はそこから新たな例について有用な予測を生み出す何か一般的なもの、その分布に関する何かを引き出す必要がある。システムによっては、人間の直観によるデータ解析の必要性を排除しようとしているが、人間と機械の協調的相互作用を取り入れたものもある。そもそもシステムのデータ表現方法やデータの特徴を探る機構は、人間が設計したものであり、人間の直観を完全に排除することはできない。機械学習とデータマイニングは交差する部分が大きく、技法も同じなので混同されることが多いが、次のように定義できる。機械学習の目的は、訓練データから学んだ「既知」の特徴に基づく予測である。データマイニングの目的は、それまで「未知」だったデータの特徴を発見することである。この2つは、さまざまな面でオーバーラップしている。データマイニングは、機械学習の技法を使うが、その目的は若干異なることが多い。機械学習もデータマイニングの技法を「教師なし学習」として、あるいは学習者の正確性を向上させる前処理として用いる。いう例外はあるが、基本的に学会も学術誌も別々である。それらの間の混同の最大の原因は、それらの基本的前提に由来する。機械学習では、既知の知識を再生成できるかどうかで性能を評価するが、データマイニングではそれまで「未知」だった知識を発見することが重視される。したがって、既知の知識によって評価するなら「教師なしの技法」よりも「教師ありの技法」の方が容易に優れた結果を示すことができる。典型的なデータマイニングでは、訓練データが用意できないので、「教師ありの技法」を採用することができない。機械学習のアルゴリズムは、要求される結果により以下のように分類される。入力とそれに対応すべき出力(人間の専門家が訓練例にラベル付けすることで提供されることが多いのでラベルとも呼ばれる)を写像する関数を生成する。分類問題では入力ベクトルと出力に対応する分類で示される例を与えられ、それらを写像する関数を近似的に求める。入力のみ(ラベルなしの例)からモデルを構築する。データマイニングも参照。半教師あり学習(英語版)ラベルありの例とラベルなしの例をどちらも扱えるようにしたもので、それによって近似関数または分類器を生成する。周囲の環境を観測することでどう行動すべきかを学習する。行動によって必ず環境に影響を及ぼし、環境から報酬という形でフィードバックを得ることで学習アルゴリズムのガイドとする。トランスダクション(英語版)(トランスダクティブ推論)観測された具体的な(訓練)例から具体的かつ固定の(テスト)例の新たな出力を予測しようとする。(英語版)と呼ばれている。訓練例は有限であるのに対して、未来は不確かであるため、学習理論は一般にアルゴリズムの性能を保証できない。その代わりに、性能の確率的範囲を与える。Hoeffding(英語版)によるヘフディングの不等式(英語版)など統計的学習理論という表現もある。多項式時間で終了する計算を実現可能とみなす。機械学習のうちデータの確率的な生成規則を学習するもの[7]を指す。統計学は母集団と標本、そこに存在する確率分布に着目した方法論である。統計的機械学習ではデータが母集団から確率的に得られると考え、データの生成過程を確率分布を用いてモデル化し、実際のデータに基づいてモデルの学習(あるいはモデル選択自体の学習)をおこなう。母集団からデータが得られる、母集団からのサンプリングによってデータが生成されると解釈できるため、統計的機械学習のモデルは生成モデル・統計モデルとも呼ばれる[8]。標本に基づいた母集団(パラメータ)の推定・選択は統計学において長く研究され、多くの理論が存在する。統計的機械学習における学習はまさに母集団の推定・選択であるため、統計学の理論が機械学習に適用できる。学習の収束や汎化性能など様々な機械学習の課題が統計学の知識体系を用いて研究されている。統計的機械学習の例としては、ニューラルネットワークにおける生成モデル、例えば自己回帰型生成ネット、変分オートエンコーダ(VAE)、敵対的生成ネットワーク(GAN)などが挙げられる。くの機械学習手法はデータに対するモデル出力の誤差を定義し、誤差を最小化するようにパラメータの更新(学習)をおこなう。誤差を計算する関数、すなわち損失関数を最小化する学問体系は応用数学において数理最適化(解かれる問題は最適化問題)と呼ばれる。ニューラルネットワークでは損失関数に対して微分をおこなう勾配法(確率的勾配降下法など)で学習がしばしばおこなわれる。勾配法による最適化が最適解に収束するか否かは数理最適化の理論によって研究される。予測モデル(英語版)として使用した学習であり、アイテムについての観測をそのアイテムの目標値についての結論とマッピングする。相関ルール学習(英語版)大規模データベースにおける変数間の興味深い関係を発見するための技法。呼ばれ、生物の神経ネットワークの構造と機能を模倣するという観点から生まれた学習アルゴリズムである。人工神経を相互接続したもので計算を構造化し、コネクショニズム的計算技法で情報を処理する。現代的ニューラルネットワークは非線形な統計的データモデリングツールである。入力と出力の間の複雑な関係をモデル化するのに使われ、データのパターン認識や観測された変数間の未知の同時分布における統計的構造を捉えるなどの用途がある。(GP)生物の進化を模倣した進化的アルゴリズムに基づく技法であり、ユーザーが定義したタスクを実行するプログラムを探索する。遺伝的アルゴリズムを拡張・特化させたものである。所定のタスクを実行する能力によって適応度地形を決定し、それによってコンピュータプログラムを最適化させていく機械学習技法である。一様な表現とし、論理プログラミングを使って学習を規則化する技法である。既知の背景知識と例の集合をコード化して事実の論理データベースとし、全てのポジティブな例を含み、ネガティブな例を全く含まない仮説的論理プログラムを生成する。(SVM)分類や回帰に使われる一連の教師あり学習技法である。訓練例のラベルは二値分類(2つに分類される)であり、訓練アルゴリズムによってモデルを構築し、新たな例がどちらに分類されるかを予測する。クラスタリングクラスタリングは、観測された例をクラスタと呼ばれる部分集合に振り分けるもので、振り分けは事前に指示された基準に従って行う。クラスタリングはデータの構造についての仮説(基準)の立て方によって結果が異なる。仮説は「類似尺度」で定義され、「内部コンパクト性」(同一クラスタ内のメンバー間の類似性)や異なるクラスタ間の距離によって評価される。「推定密度」や「グラフ接続性」に基づく技法もある。クラスタリングは教師なし学習技法であり、統計的データ解析でよく使われる。表した確率論的グラフィカルモデルである。病気と症状の関係を確率的に表すことができる。そのネットワークに症状を入力すれば、考えられる病気の一覧を確率付きで出力できる。これを使って推論と学習を行う効率的アルゴリズムが存在する。「エージェント」が「環境」の中でどのような「行動」をとるべきかを、何らかの長期的「報酬」を最大化するよう決定する。環境の「状態」からエージェントの行動への写像を行う「方針」を求めるのが強化学習アルゴリズムである。正しい入出力例は与えられないし、最適でない行動が明示的に訂正されることもないので、教師あり学習とは異なる。表現学習(英語版)教師なし学習アルゴリズムの一部は、訓練中に提供された入力のよりよい表現を発見しようとする。古典的な例として主成分分析やクラスタ分析がある。入力の持つ情報は保持したまま、分類や予測の前に入力をより便利な表現に変換するアルゴリズムもある。その際に入力データが従っている未知の確率分布から入力を再建できるようにするが、その確率分布においては信じがたい例も忠実に再現する必要はない。多様体学習(英語版)アルゴリズムは、何らかの制約下で入力の次元を低く変換して表現する。スパースコーディング(英語版)アルゴリズムでは、入力が疎ら(ゼロが多い)という制約下で同様の表現の変換を行う。ニューラルネットワークの深層学習は複数レベルの表現または特徴の階層を発見するもので、低いレベルで抽出した特徴から高いレベルの抽象化した特徴までを求める。知的機械は、観測されたデータを説明する偏差の潜在的要因を解きほぐす表現を学習するものだという主張もある[9]。以下のような応用分野がある。チームが「プラグマティック・ケイオス」[11]という機械学習プログラムで2009年に優勝し100万ドルを獲得した[12]。データロボット社[13]による複数の手法を並列計算させて比較する方法がある[14]。Pythonによるソースコードの公開が広がっており、docker環境でどこでも機械学習を実行できるようになってきた[15]。学術雑誌などで発表されることが多い。3.0のもとで利用可能です。プライバシーデスクトップ。