全2970文字

機械学習はデータからルールを獲得するアルゴリズム

 では機械学習とはどんなアルゴリズムなのでしょう。

 機械学習ではデータを基に、何らかの値を予測することが可能です。もちろん、事前に予測に役立ちそうなデータの収集が必要となります。イメージしやすいように、具体例で説明しましょう。下の表のように不動産に関するさまざまなデータがあるとします。表の左側の青い欄には「延床面積」「築年数」……など複数のデータが、一番右の緑の欄には「不動産価格」があります。機械学習を使って、青い欄のようなデータ群をそろえれば、緑の欄の「不動産価格」を予測できるようにするにはどうしたらいいかを見ていきましょう(図2)。

図2●機械学習で「延床面積」「築年数」などのデータから「不動産価格」を推測したい
図2●機械学習で「延床面積」「築年数」などのデータから「不動産価格」を推測したい
[画像のクリックで拡大表示]

 機械学習の仕組みを簡単な図に落とし込むと、以下のようになります(図3)。

図3●機械学習の基本的な仕組み。データのインプットと、教師データを基にしたフィードバックを繰り返して予測の精度を上げる
[画像のクリックで拡大表示]
図3●機械学習の基本的な仕組み。データのインプットと、教師データを基にしたフィードバックを繰り返して予測の精度を上げる

 まず、「延床面積」、「築年数」、「駅からの近さ」など不動産価格の予測に役立ちそうなデータを「インプット」として機械学習の「変換器」に入力します。変換器を含む上図のような機械学習の仕組みの実体は、多くの場合は何らかのコンピュータープログラムだと考えてください。

 変換器はインプットされたデータを基に「不動産価格」の予測価格を算出します(図中の「予測されたアウトプット」)。最初は変換器の精度が低いため、でたらめな予測価格が出力されます。続いて、予測価格と「インプットされたデータを持つ不動産の実際の価格」、つまり正解の値を比較し、両者のギャップができるだけ小さくなるよう変換器に自動的にフィードバックをかけるのです。この正解の値を「教師データ」と呼びます。変換器はインプットされたデータと教師データとの関係性を、文字通り「機械的に学習」していくのです。

 上記のようなインプットからフィードバックまでの流れを繰り返していくと、次第に変換器が「どんなデータをインプットすると、どんなアウトプットが正解となるか」のルールを獲得していきます。大量のデータをインプットして変換器の精度が十分に高まれば、だんだんと正解のデータ(教師データ)に近い予測ができるようになります。

 機械学習を実現する方法にはいくつかの種類があります。上記のようにインプットのデータと正解のデータ(教師データ)から両者の関係性を獲得するアルゴリズムは、機械学習の中でも「教師あり学習」と呼びます。

 なお、機械学習の世界ではインプットのデータを「特徴量」、予測したい値を「目的変数」と呼びます。今回の不動産の例では、「延床面積」、「築年数」、「駅からの近さ」などが特徴量、不動産価格が目的変数に当たります。こうした用語は「データ分析実務スキル検定」でも登場しますので、ぜひ覚えておいてください。