機械学習はどのように機能しますか–簡単なガイド
公開: 2019-07-31NetflixとAmazonは、ゲームでかなり優れています。彼らは、あなたが見たい/購入したいコンテンツや製品を常に知っているようです。 自分の好みや好みに合わせてすべてがすでにキュレーションされているのを見るのが好きではありませんか?
私たちのほとんどは、NetflixとAmazonの気の利いたレコメンデーションエンジン(もちろん機械学習!)の背後にある秘密のソースを知っていますが、機械学習の内部メカニズムに精通している人はどれくらいいますか?
簡単に言うと、機械学習はどのように機能しますか?
本質的に、機械学習は、経験から「学習」し、機械がインテリジェンスを必要とするタスクを実行できるようにすることを目的としたデータ分析手法(AIのサブセット)です。 機械学習アルゴリズムは、計算手法を適用して情報を抽出し、明示的にプログラムすることなくデータから直接学習します(事前に定義された方程式に依存する必要はありません)。
機械学習システムの構造
すべてのMLシステムは、次の3つの部分に分解できます。

- モデル–識別、つまり予測を処理するコンポーネント。
- パラメーター–モデルがその決定(予測)に到達するために使用する要因を指します。
- 学習者–実際の結果と比較した予測の違いを考慮して、パラメーター(および全体としてモデル)を調整するコンポーネント。
機械学習の種類
MLシステムのコアコンポーネントに慣れてきたので、次は、MLシステムが「学習」するさまざまな方法を見てみましょう。
教師あり学習
教師あり学習では、入力を出力にマッピングする方法についてモデルが明示的にトレーニングされます。 教師あり学習アルゴリズムは、認識された入力データのセットとそのデータに対する既知の応答(出力)を取得し、新しい入力データに応答して妥当な予測を生成するようにモデルをトレーニングします。
教師あり学習では、2つのアプローチを使用して予測モデルを開発します–
- 分類–名前が示すように、この手法では、入力データにラベルを付けることで、入力データをさまざまなカテゴリに分類します。 これは、個別の応答を予測するために使用されます(たとえば、癌細胞が良性または悪性の場合)。 医用画像、音声認識、およびクレジットスコアリングは、分類の3つの一般的な使用例です。
- 回帰–この手法は、入力データのパターンを特定することにより、連続応答を予測するために使用されます。 たとえば、気温や天気の変動。 回帰は、天気、電力負荷、およびアルゴリズム取引を予測するために使用されます。
教師なし学習
教師なし学習アプローチは、ラベルのないデータを使用し、その中に隠されたパターンを解明しようとします。 したがって、この手法は、ラベル付けされた応答のない入力データで構成されるデータセットから推論を引き出します。
- クラスタリング–最も一般的な教師なし学習方法の1つであるクラスタリングは、クラスターの資格情報に関する既知の情報なしでデータを「クラスター」に分類する探索的データ分析手法です。 オブジェクト認識と遺伝子配列分析は、クラスタリングの2つの例です。
- 次元削減–次元削減は、すべての冗長情報の入力データをクレンジングし、重要な部分のみを保持します。 したがって、データがクリーンになるだけでなく、サイズも小さくなり、使用するストレージスペースが少なくなります。
強化学習
強化学習は、試行錯誤を通じて学習および改善できる自立型および自己学習型のモデルを構築することを目的としています。 学習(トレーニング)プロセスでは、アルゴリズムが特定のアクションを正常に実行できる場合、報酬シグナルがトリガーされます。 報酬信号は、アルゴリズムのガイドライトのように機能します。 2つの報酬シグナルがあります:
- ポジティブシグナルは、特定の一連の行動を促し、継続するためにトリガーされます。
- ネガティブシグナルは、特定の間違った行動に対するペナルティです。 トレーニングプロセスをさらに進める前に、間違いの修正を要求します。
強化学習は、ビデオゲームで広く使用されています。 自動運転車の背後にあるメカニズムでもあります。

MLアルゴリズムの「学習」機能の内部
MLアルゴリズムの機能と、それらが経験を通じてどのように学習するかについては、3つの一般的な原則があります。
関数を学ぶ
学習プロセスの最初のステップでは、MLアルゴリズムが、入力変数(X)を出力変数(Y)に最適にマッピングするターゲット関数(f)について学習します。 それで、
Y = f(X)。
ここでは、ターゲット関数(f)の形式が不明であるため、予測モデリングが行われます。
この一般的な学習フェーズでは、MLアルゴリズムは、新しい入力変数(X)に基づいて将来の予測(Y)を行う方法を学習します。 当然、プロセスにエラーがないわけではありません。 ここで、エラー(e)は入力データ(X)とは無関係に存在します。 それで、
Y = f(X)+ e
エラー(e)には、XからYへのマッピングシナリオを最もよく特徴付けるのに十分な属性がない可能性があるため、既約エラーと呼ばれます。アルゴリズムがターゲット関数(f)をどれだけうまく推定できるかに関係なく、エラーを減らすことはできません( e)。
予測を行い、それらを改善する方法を学ぶ
前のポイントで、MLアルゴリズムがターゲット関数を学習する方法を理解しました(f)。 そして、ここでの唯一の目標は、XからYをマップするための最良の方法を見つけることであることをすでに知っています。言い換えると、入力を出力にマップするための最も正確な方法を見つける必要があります。
エラー(e)が発生しますが、アルゴリズムは、目的の出力(Y)からどれだけ離れているか、およびどのように到達するかを理解しようとし続ける必要があります。 このプロセスでは、出力(Y)に最も一致するように、パラメーターまたは入力値(X)を継続的に調整します。 これは、目的の出力モデルで高度な類似性と精度に達するまで続きます。
機械学習を学ぶ方法–ステップバイステップ「最急降下法」学習アプローチ
「インテリジェント」なマシンの作成に成功したことは事実かもしれませんが、学習のペースは異なります。マシンはそれを遅くする傾向があります。 彼らは「最急降下法」の学習プロセスを信じています。すぐに飛躍するのではなく、赤ちゃんの一歩を踏み出し、ゆっくりと頂上から降ります(ここでの比喩は山を登るというものです)。

山を下るときは、ジャンプしたり、走ったり、一度に身をかがめたりすることはありません。 代わりに、安全に底に降りて事故を回避するために、測定および計算された手順を実行します。
MLアルゴリズムはこのアプローチを使用します。変化するパラメーターに合わせて調整を続け(山の起伏のある未踏の地形をもう一度描きます)、最終的に目的の結果を取得します。
結論として…
すべての機械学習アルゴリズムの基本的な目標は、特定の入力データに最もよく一般化する予測モデルを開発することです。 MLアルゴリズムとシステムは、さまざまな種類の入力/変数/パラメーターを介してトレーニングを行うため、膨大なデータプールを用意することが不可欠です。 これは、MLアルゴリズムがさまざまな種類のデータと相互作用して、それらの動作を学習し、望ましい結果を生成できるようにするためです。
この投稿で、機械学習の仕組みをわかりやすく説明できることを願っています。