機械学習アルゴリズム

機械学習の背後にある数学とロジックの概要。

機械学習アルゴリズムとは

機械学習アルゴリズムは、複雑なデータ セット内の意味を調査、分析、および検索するうえで役立つコードの一部分です。各アルゴリズムが、特定の目標を達成するためにマシンが従うことができる、明確なステップバイステップ手順の有限集合になっています。機械学習モデルの目標は、予測の作成や情報の分類に使用できるパターンを確立または発見することです。機械学習とは何ですか?

機械学習アルゴリズムが使用するのは、トレーニング データ、つまり、より大きなセットを表すデータのサブセットに基づくパラメーターです。世界をよりリアルに表すためにトレーニング データが拡張されると、アルゴリズムの計算結果はより正確になります。

さまざまなアルゴリズムによって、さまざまな方法でデータが分析されます。アルゴリズムは、多くの場合、教師あり学習、教師なし学習、および強化学習に使用されている機械学習の手法によってグループ化されています。最も一般的に使用されるアルゴリズムは、回帰と分類を使用して、ターゲット カテゴリの予測、通常と異なるデータ ポイントの検索、値の予測、および類似点の検出を行います。

機械学習の手法

機械学習アルゴリズムをさらに詳しく学習していくと、アルゴリズムは、通常、次の 3 つの機械学習の手法のいずれかに分類されることがわかります。

教師あり学習

教師あり学習では、指定した一連のラベル付きの例に基づいてアルゴリズムが予測を行います。この手法は、どのような結果になるかを把握している場合に便利です。

たとえば、過去 100 年の毎年の都市人口を含むデータセットを指定し、それに基づいて、特定の都市の今後 4 年間の人口を確認するとします。この結果では、データセットに既に存在するラベル (人口、都市、年) が使用されます。

教師なし学習

教師なし学習では、データ ポイントにラベルが付いていません。アルゴリズムはデータを整理するか、その構造を記述することで、データ ポイントにラベルを付けます。この手法は、どのような結果になるかを把握していない場合に便利です。

たとえば、顧客データを入力し、類似の製品が好きな顧客のセグメントを作成するとします。指定したデータにはラベルが付けられず、データ ポイント間で検出された類似性に基づいて結果のラベルが生成されます。

強化学習

強化学習によって使用されるアルゴリズムは、結果から学習し、次に実行するアクションを決定します。各アクションの後、そのアルゴリズムは、選択が正しかったか、間違っていたか、どちらでもなかったかを判断するうえで役立つフィードバックを受け取ります。人間の指図なしで小さい決定を数多く行う必要がある自動化されたシステムに適した手法です。

たとえば、あなたが自律走行車を設計しているとします。そして車が確実に交通法規を守るようにして、乗車している人の安全を確保したいと思っています。経験と強化履歴が増えることで、車は車線内を走行する方法、制限速度を守る方法、歩行者に遭遇したときにブレーキを踏む方法を学習します。

機械学習アルゴリズムでできること

機械学習アルゴリズムは、複雑すぎて手動分析では回答できない質問に答えるのに役立ちます。機械学習アルゴリズムにはさまざまな種類がありますが、機械学習アルゴリズムのユース ケースは、一般的に次のいずれかのカテゴリに分類されます。

ターゲット カテゴリを予測する

2 クラス (バイナリ) 分類アルゴリズムは、データを 2 つのカテゴリに分けます。相互に排他的な 2 つの回答がある質問 ("はい/いいえ" で答える質問を含む) に役立ちます。例えば次が挙げられます。

  • 次の 1,000 マイルでこのタイヤが故障するか、故障しないか
  • 10 米ドル クレジットと 15% 割引、照会が多いのはどちらか

多クラス (多項) 分類アルゴリズムは、データを 3 つ以上のカテゴリに分けます。相互に排他的な 3 つ以上の回答がある質問に役立ちます。例えば次が挙げられます。

  • 多くの旅行者が航空券を購入するのは何月か
  • この写真の人物には、どのような感情が表れているか

通常と異なるデータ ポイントを見つける

異常検出アルゴリズムは、"正常" 状態の定義済みパラメーター以外のデータ ポイントを特定します。 たとえば、異常検出アルゴリズムを使って、次のような質問に回答します。

  • このバッチの故障パーツはどこにあるか
  • クレジットカードによる不正購入の可能性があるのはどれか

値を予測する

回帰アルゴリズムは、新しいデータ ポイントの値を、履歴データに基づいて予測します。次のような質問への回答に役立ちます。

  • 来年、自分の街の 2 ベッドルーム住宅の平均コストはどのくらいになるか
  • 火曜日の来院患者数は何人になるか

経時的な値の変化を確認する

時系列アルゴリズムは、特定の値が時間の経過と共にどのように変化するかを示します。時系列分析と時系列予測のために、時間をおいて定期的にデータが収集されて、予測を行ったり、傾向、季節性、周期性、不規則性を特定したりするために使用されます。時系列アルゴリズムは、次のような質問に回答するのに使用されます。

  • 特定の株が今後 1 年で値上がりまたは値下がりする見込みか
  • 来年の支出はどうなるか

類似点を検出する

クラスタリング アルゴリズムは、データ ポイント間の類似性のレベルを判断することで、データを複数のグループに分けます。クラスタリング アルゴリズムは次のような質問に適しています。

  • どの視聴者が同じ種類の映画を好むか
  • どのプリンター モデルが同じように故障するか

分類

分類アルゴリズムは、予測計算を使用して、あらかじめ設定されたカテゴリにデータを割り当てます。分類アルゴリズムは、入力データに関してトレーニングされて、次のような質問に回答するのに使用されます。

  • このメールは迷惑メールか
  • 特定のテキストの感情 (肯定、否定、または中立) は何か

機械学習ライブラリとは

機械学習ライブラリは、特定の言語で記述された一連の関数、フレームワーク、モジュール、ルーチンです。開発者は、複雑なタスクを実行できる機械学習ソリューションを作成するための構成要素として、機械学習ライブラリのコードを使用します。開発者は、機械学習ソリューションですべてのアルゴリズムと数式を手動でコーディングする必要はなく、利用可能な多数の ML ライブラリのいずれかで必要な関数とモジュールを見つけ、それらを使用して、ニーズを満たすソリューションを構築できます。

Azure Machine Learning による実験を開始する

Azure Machine Learning を使用して独自の機械学習モデルを構築し、デプロイすることで、さまざまなアルゴリズムがどのようにデータを分析するかを確認します。