機械学習のアルゴリズム
機械学習の背後にある数学とロジックの概要。
機械学習アルゴリズムとは
機械学習アルゴリズムは、人々が複雑なデータ セット内を探索し、分析し、意味を見つけるのに役立つコードです。各アルゴリズムは、あいまいさのないステップバイステップの命令の有限集合であり、マシンがこれに従うことによって特定の目標を達成できます。機械学習モデルの目標は、人々が予測の作成や情報の分類に使用できるパターンを確立または発見することです。 機械学習とは
機械学習のアルゴリズムでは、トレーニング データ (それよりも大きなセットの代表である、データのサブセット) に基づくパラメーターが使用されます。トレーニング データが拡張されて、この世界がより現実的に表現されるようになると、アルゴリズムの計算結果はより正確になります。
アルゴリズムが異なると、データを分析する方法も異なります。多くの場合は、どの機械学習手法に使用されるか (教師あり学習、教師なし学習、および強化学習) によってグループ化されます。最も一般的に使用されるアルゴリズムは、回帰と分類を使用してターゲット カテゴリの予測、通常と異なるデータ ポイントの検出、値の予測、類似点の検出を行うというものです。
機械学習の手法
機械学習のアルゴリズムについてさらに学習していくと、アルゴリズムは一般的に次の 3 つの機械学習手法のいずれかに分類されることがわかります。
教師あり学習
教師あり学習では、アルゴリズムによる予測は指定された一連のラベル付きの例に基づいて行われます。この手法は、結果がどのようになるかがわかっている場合に便利です。
たとえば、過去 100 年の毎年の都市人口が含まれているデータセットがあり、特定の都市の 4 年後の人口がどれくらいになるかを知りたいとします。この結果では、データセットに既に存在するラベル (人口、都市、年) が使用されます。
教師なし学習
教師なし学習では、データ ポイントはラベル付きではありません。アルゴリズムによって、データが整理されるか、その構造が記述されることによってラベルが付けられます。この手法は、結果がどのようになるかがわかっていない場合に便利です。
たとえば、顧客データがあり、類似の製品を好む顧客のセグメントを作成したいとします。用意されるデータはラベル付きではなく、結果の中のラベルは、データ ポイント間で検出された類似性に基づいて生成されます。
強化学習
強化学習で使用されるアルゴリズムは、結果から学習し、次に取るアクションを決定するというものです。各アクションの後に受け取るフィードバックを参考にして、アルゴリズムによる選択が正しかったか、どちらでもないか、間違っていたかを判断します。この手法は、自動化システムにおいて人間の指図なしで小さい決定を数多く行う必要がある場合に使用するのに適しています。
たとえば、自律走行車を設計している場合に、この自動車が確実に法律を守り、人々の安全を保つようにしたいとします。この自動車は経験と強化の履歴を獲得するにつれて、どのように車線内にとどまり、制限速度を守り、歩行者に遭遇したときにブレーキをかけるかを学習します。
機械学習のアルゴリズムでできること
機械学習のアルゴリズムは、複雑すぎて手作業の分析では回答が得られない質問に回答するのに役立ちます。機械学習のアルゴリズムにはさまざまな種類がありますが、機械学習アルゴリズムのユース ケースは一般的に、次のカテゴリのいずれかに分類されます。
ターゲット カテゴリを予測する
2 クラス (バイナリ) 分類アルゴリズム では、データが 2 つのカテゴリに分けられます。考えられる回答が 2 つだけで相互排他的である質問 (これには "はい/いいえ" で答える質問も含まれます) に便利です。例:
- このタイヤが次の 1,000 マイルで使えなくなる: "はい" か "いいえ" か
- 照会が多いのはどちらか: 10 米ドル クレジットか 15% 割引か
多クラス (多項) 分類アルゴリズム では、データが 3 つ以上のカテゴリに分けられます。考えられる回答が 3 つ以上で相互排他的である質問に便利です。例:
- 旅行者の大多数が航空券を購入するのは何月か
- この写真の人物は、どのような感情を表しているか
通常と異なるデータ ポイントを見つける
異常検出アルゴリズム では、"正常" を表す定義済みパラメーターの外側に位置するデータ ポイントが特定されます。たとえば、次のような質問に回答するのに異常検出アルゴリズムを使用します。
- このバッチの故障パーツはどこにあるか
- クレジットカードによる購入のうち、詐欺の可能性があるのはどれか
値を予測する
回帰アルゴリズム では、新しいデータ ポイントの値が履歴データに基づいて予測されます。次のような質問への回答に役立ちます。
- 自分が住む都市の 2 ベッドルーム住宅の平均コストは来年どれくらいになるか
- 火曜日の来院患者数はどれくらいになるか
経時的な値の変化を知る
時系列アルゴリズム では、特定の値が時間の経過と共にどのように変化するかが示されます。時系列分析と時系列予測では、時間の経過と共に一定の間隔でデータが収集され、このデータを使用して予測が行われ、傾向、季節性、周期性、不規則性が特定されます。時系列アルゴリズムは、次のような質問に回答するのに使用されます。
- 特定の株が今後 1 年で値上がりしそうか値下がりしそうか
- 自分の来年の支出はいくらになるか
類似点を検出する
クラスタリング アルゴリズム では、データ ポイント間の類似性のレベルを特定することでデータが複数のグループに分けられます。クラスタリング アルゴリズムは次のような質問に適しています。
- どの視聴者が同じ種類の映画を好むか
- どのプリンター モデルが同じように故障するか
分類
分類アルゴリズム では、予測計算が使用され、あらかじめ設定されたカテゴリにデータが割り当てられます。分類アルゴリズムは入力データに対してトレーニングされ、次のような質問に回答するのに使用されます。
- このメールは迷惑メールか
- 特定のテキストのセンチメント (肯定、否定、または中立) は何か
機械学習ライブラリとは
機械学習ライブラリは、特定の言語で記述された関数、フレームワーク、モジュール、ルーチンの集合です。開発者は、複雑なタスクを実行できる機械学習ソリューションを作成するために、機械学習ライブラリ内のコードを構成要素として使用します。機械学習ソリューションのすべてのアルゴリズムと数式を手作業でコーディングする代わりに、開発者は自分に必要な関数とモジュールを、利用可能な多数の ML ライブラリのいずれかで見つけて使用することで、自分のニーズを満たすソリューションを構築することができます。
Azure Machine Learning での実験を始めましょう
Azure Machine Learning を使用して独自の機械学習モデルを構築し、デプロイすることで、さまざまなアルゴリズムによってどのようにデータが分析されるかを確認してください。