機械学習の基本概念
1. 序章
このチュートリアルでは、機械学習の基本概念を学習し、この魅力的な知識の分野の研究に取り組む準備をします。
この記事は、機械学習の現在の用語が、この分野の先駆者による初期の研究からどのように派生したかを説明する小さな紹介テキストと見なすことができます。
まず、コンピューティングマシンでのLovelaceとTuringの初期の作品を研究することから始めます。 次に、主題別の文献で、当時と同様に、今日一般的に使用されているいくつかの重要な用語に焦点を当てます。
2. 背景:機械は考えることができますか?
2.1. 学習マシン
このセクションのタイトルを付ける質問は、計算する機械と知性というタイトルのチューリングによる重要な論文を開きます。 この質問とそれに答える試みは、機械学習の全分野を構築するための基盤です。
機械学習で今日使用されている概念システムと用語はどちらも、この特に深い質問に潜在的に答える方法に関するTuringの最初の研究に由来しています。 このため、短いエクスカーションを用意することをお勧めします。
私たちの目的に特に関連するのは、その論文のセクション7であり、これもまたそれを結論付けています。このセクションは、適切に「学習機械」と名付けられています。 コンピュータによる知識の習得の主題をカバーしています。 その中で、Turingは、コンピューティングマシンはプログラムされたアクションしか実行できないというAdaLovelaceの考えに応えています。
数年前、ラブレス夫人は、バベッジの分析エンジンの研究で、マシンによる計算能力は、プログラマーによって最初に与えられた命令に限定されているという異議を唱えていました。 ある意味で、彼女は、機械がこれまでに持つことができたすべてのアイデアは、人間によってそれに注入されると主張しました。 したがって、彼女の意見では、それらは適切な意味での思考を構成するものではありません。
Lovelaceはその時代の著名な数学者であり、最初のコンピューターアルゴリズムを開発したとされています。 しかし、彼女が計算について持っていた理論的理解は、マシンが自律的に学習することを可能にしませんでした。 コンピューターに組み込むことができるすべての知識と学習は、最終的には、そのコンピューターのプログラマーによって以前に取得された知識と学習によって制限されていました。
彼女が正しければ、今日は機械学習と呼ばれる分野はありませんでした。 明らかに、ラブレースの考え方にはいくつかの間違いがありました。
2.2. 人間を学ぶ
対照的に、Turingは、学習プロセスにおけるプログラマーの役割は、せいぜい、子供の脳の遺伝学と初期構造がその子供は成人期になります。 チューリングによれば、コンピューターの学習能力は初期のプログラミングによって制限されていたため、大人の心は子供の頃の脳の構成によってもはや決定されませんでした。
システムの初期構成は確かにそのシステムの学習に役割を果たしましたが、これは網羅的ではありませんでした。 他の2つの要因が人間の学習プロセスに貢献しました。 1つ目は、子供が受ける正式な教育でした。 そして第二に、子供が受ける非公式の経験:
人間の学習の領域から機械学習の領域に移行しても、比較は継続されます。 与えられたプログラムの初期構成は重要ですが、Turingは、学習は2つの追加コンポーネントの結果として発生すると主張しました。 子供がコンピューターの領域で受ける正式な教育は、モデルの正式な訓練に対応している可能性があります。 代わりに、非公式の経験は、実験者が特定のモデルを別のモデルよりも選択するときに行う判断に対応しています。
2.3. 学習について学ぶ
この表は、Turingの論文から導き出された、人間と機械学習の両方に共通する概念的なカテゴリをまとめたものです。
これは、機械学習の分野の理論的基礎の核心であり、機械学習が扱う最も深い問題の本質です。
機械学習の分野での開発ごとに、人間の知識が進歩し、したがって人間の学習が発生します。 しかし、定義上、機械学習の分野での開発は、機械学習をより良くまたはより速くする必要があります。これにより、機械学習の研究が非線形プロセスを構成するようになります。
同じプロセスで、人間は機械について学び、機械は人間が知覚し理解する世界について学びます。
3. 機械学習の基本概念
前のセクションでは、機械学習を人間の知識の分野の1つと見なすことが理にかなっている理由を学びました。 確かに、それは機械で学習が行われる方法をカバーする知識の分野です。 したがって、それについて学ぶとき、私たちは機械学習プロセスについて人間の学習プロセスに着手します。 機械学習プロセスが人間によって開始されることが多い限り、人間が機械学習についてさらに学ぶにつれて、機械自体もその後さらに学ぶと言うこともできます。
機械学習の学習には、その分野に関連する基本的な語彙の知識が必要です。 学問分野はコンピュータサイエンス、統計学、認知科学の交差点にあるため、これらすべての科学分野から機械学習の主題固有の語彙を導き出します。
ここに、私たちが精通する必要がある最も重要な概念のいくつかがあります。
3.1. 機械
これは、その分野の名前を構成する最初の単語であり、したがって、最も重要です。 最も広い意味で、機械は、ある種の入力をある種の結果または動作に変換するメカニズムであり、力学の研究の対象です。 ただし、コンピュータサイエンスでは、という言葉を使用すると、ほとんどの場合、コンピュータまたは万能チューリング機械を使用することになります。
万能チューリング機械は、計算を実行できる抽象機械です。 現代のパーソナルコンピュータはもちろん、ユニバーサルチューリングマシンのインスタンスです。使用可能なメモリがプログラムのスペースの複雑さよりも大幅に大きいという考えを受け入れる場合。
3.2. 学ぶ
分野の名前の2番目の単語は、人間の学習のプロセスと、ますます正確な統計モデルを段階的に構築するための手順との間の最初の類似性から生じています。 より正式な言葉で言えば、ミッチェルの定義を言い換えると、学習は、プログラムが特定の一連のトレーニング経験を行うことによって、ますます優れたパフォーマンスでタスクを実行するプロセスです。
学習が発生すると、モデルの予測といくつかの真のラベルまたは値との間の誤差は時間の経過とともに徐々に減少します。 これはまた、学習が時間の関数として発生するように、学習または予測のエラーと時間の間に関係が存在するという考えにつながります。
機械学習モデルの学習は、同じ一連の連続するステップに分割されることが多いため、モデルのトレーニング、テスト、検証の同義語として「学習」を使用することもよくあります。
3.3. モデル
機械学習と統計では、モデルは、数学表記と仮定を使用してシステムを記述する方法です。
機械学習で使用されるモデルの一般的なカテゴリは次のとおりです。
- 線形回帰およびロジスティック回帰などの回帰モデル
- サポートベクターマシン
- ニューラルネットワーク
特定のモデルの選択は、実行されている特定のタスクによって異なります。 これにより、機械学習で使用される理論とアルゴリズムだけでなく、学習することも価値があります。 また、特定のタスクの解決に関連するヒューリスティックもあります。
3.4. データセット
データセットは社会的または物理的世界のいくつかの特性に関連する観測のリストであり、通常は機能とラベルで構成されます。 教師なしおよび教師なし学習にはさまざまなデータセットが存在し、特定のタスクに対するそれらの選択は、調査している問題によって異なります。 有用なリファレンスは、カリフォルニア大学アーバイン校によってキュレーションされたデータセットのリストです。これには、学生が最も頻繁に使用するデータセットが含まれています。
データセットを機械学習モデルのトレーニングに使用する前に、正規化や分割などのさまざまな前処理ステップを実行するのが一般的です。 ほとんどの実際のデータセットがそうであるように、特定のデータセットが大きすぎて全体を処理できない場合はいつでも、トレーニングしているモデルにバッチでフィードできます。
3.5. 予測とエラーまたはコスト関数
機械学習モデルと統計モデルには特定の違いがあります。 この区別は、前者が予測を実行する際に必要であることに関係しています。 後者の場合、これは必ずしも必要ではありません。
機械学習モデルは、正確な予測を行う限り有用です。 このため、通常、使用する精度メトリックでスコアを上げるための機械学習モデルが必要です。
教師あり学習では、トレーニング中に予測を計算できます。 その場合、通常、予測値とある種の真の値またはラベルとの間の誤差を計算します。 その場合、予測値と真の値の差を使用してコストを決定し、勾配などの手法を使用してモデルのパラメーターをトレーニングすることができます。最急降下法。
3.6. 勾配
簡単で直感的な用語で、関数の勾配は、それぞれに従って計算された、複数の変数を持つ関数の勾配の方向と急勾配を示します。 単変量関数の場合、勾配は全導関数に対応します。
より一般的には、勾配は、その定義域の少なくとも一部で微分可能なスカラー多変数関数に関連付けられたベクトル場です。 この関数を使用して、変数を指定できます。 次に、勾配を偏導関数のリストを含む列ベクトルとして表すことができます。
ベクトル場としての勾配の概念とその計算方法をよりよく理解するために、簡単な例を作成しましょう。 単純な2変量三角関数は、2つの独立変数に対する2つの正弦波の合計です。
この関数には、2つの偏導関数を含む列ベクトルとして計算できる勾配があります。
この場合、ポイントでの勾配の値は次のようになります。
勾配は、ある意味で、導関数の概念を一般化します。 このため、これを使用して、関連する関数で最も近い停留点の方向を決定できます。 これは、機械学習モデルのパラメーターと予測をリンクするコスト関数など、一部の関数を最小化または最大化するのに役立ちます。
最急降下法と最急降下法に関する記事は、このプロセスの詳細を学ぶための良い参考資料です。
4. 結論
この記事では、機械学習の基本的な概念について学習しました。 また、基本的な語彙に関連する用語も学びました。