機械学習の概要

皆さんこんにちは。RAPTOR95です。

今回は機械学習と概要を説明します。

 最近ではよく、「AI」「機械学習」「ディープラーニング(深層学習)」といった言葉を耳にすると思いますが、いまいち意味の違いがわかりにくいかと思います。図1に総務省のHPにある説明の図を示していますが、これを見るとわかりやすいですね。機械学習はディープラーニングを内包しており、AIは機械学習を内包する関係性になっています。AIは人間の思考を模擬したプログラムのことを指し、かなり広義な言葉です。機械学習は用意したデータでモデルをトレーニング(学習)することによって、回帰・分類・クラスタリングなどのタスクを実行することを言います。ディープラーニングは人間の神経伝達モデルを模擬したニューラルネットワークを活用した機械学習モデルのことを指します。詳細は今後説明していきますので、今回はざっくりとした関係性だけ把握してもらえればOKです。

図1 AI、機械学習、深層学習の関係(出典)総務省HP

 機械学習で実行できるタスクについて、もう少し深掘りしていきましょう。機械学習でできるタスクは大きく4つに分類されます。それは、「回帰」「分類」「クラスタリング」「次元削減」で、その詳細は下記通りです。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

回帰(regression)

回帰分析は、一つまたは複数の独立した変数(説明変数)と依存する変数(目的変数)との関係をモデル化します。この関係を通じて、未知のデータ点に対する予測を行います。たとえば、家のサイズ(平方メートル)とその市場価格を関連付けるモデルを作成することができます。ここでは、家のサイズが説明変数、市場価格が目的変数になります。これにより、任意の家のサイズに基づいて価格を予測することが可能になります。

分類(classification)

目的変数がラベルデータであり、説明変数Xからラベルyを出力するモデルです。例えば、砂に含まれる成分(説明変数X)から、どこの地域(目的変数y)で採取された砂かを出力するモデルが分類に該当します。

クラスタリング(clustering)

クラスタリングは、データポイントを互いに似ているグループに自動で分類するプロセスです。この分類は、データの特徴に基づき、教師なし学習(ラベル付けされていないデータからパターンを見つけ出す手法)の一種として行われます。たとえば、顧客データベースを分析して、類似の購買行動を示す顧客グループを識別することができます。これにより、マーケティング戦略をより効果的にカスタマイズすることが可能になります。

次元削減(dimensionality reduction)

文字通りデータの次元を小さくすることです。2次元や3次元程度のデータであれば、グラフを作って簡単に変数間の関係性を把握することができます。しかし、実際には10次元やそれ以上のデータセットも多数存在し、関係性を把握することは困難になりますので、そんな場合に次元削減をすると、関係性を把握しやすくなるメリットがあります。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

4つのタスクの内、図2に示すように回帰と分類は教師あり学習と呼ばれ、クラスタリングは教師なし学習と呼ばれます(次元削減は1つの図で表現するのが難しいので、文字だけにしています)。教師ありとなしの違いをざっくり言うと、目的変数yがあるかどうかです。そもそも目的変数とは自分が出力として用いたい変数のことを指します。例えば、合成条件より化合物の物性を出力したい場合には化合物の物性が目的変数になりますし、結晶層を予測したいなら結晶層が目的変数になります。また、最初は「分類」と「クラスタリング」が混同しがちかと思いますので、その違いについて例を挙げて説明します。5品種のリンゴがあるとして、リンゴの特徴からその品種を言い当てるのが分類、リンゴの特徴からいくつかのクラス(5つでなくてもOK)に分けるのがクラスタリングです。クラスタリングは、5種のリンゴの中から、品種Aと最も似た特徴を持つ品種を探すことができます。

図2 機械学習の4つのタスク

<機械学習でできること>

 上記で機械学習のタスクを使って、何ができるかを説明しましょう。機械学習でできることは様々ありますが、主に「予測」「変数間の関係性の把握」の2つが機械学習でできることかと思います。

予測:機械学習はデータセットを使って訓練させることで、説明変数を入力し目的変数を出力するモデルであると説明しました。この出力された目的変数は観測値ではなく、モデルが導出した予測値になりますので、機械学習では結果の予測が可能であるといえます。また、この結果を予測できる性質を使って、目的変数が狙いとする値(あるいはラベル)になるような説明変数の値を探索するのにもつかわれ、これを逆解析と呼んだりもします。詳細はまた別途ブログに書くと思います。

変数間の関係性把握:こちらは、学習済みモデル自体を詳細に調べて説明変数の重要性を把握したり、クラスタリング、次元削減をすることでデータセットの特徴や変数間の関係性を知ることができます。ここで把握できるのはあくまで相関関係ですが、そこから重要な考察につながることもあるので、機械学習を用いて変数間の関係性を把握することは重要になります。

今回は非常にざっくりと機械学習の説明をしてきました。一見難しそうですが、やっているタスク自体は理解が難しいものではありません。私たちも無意識のうちに、「こんな実験条件だと、できた合金の熱伝導率は〇〇W/(m・K)になるだろう」とこれまでの経験から予測しながら実験をしていると思いますが、やっていることは同じです。大量のこれまでの実験結果を学習させて、実験結果を予測しているのです。

 機械学習についてもう少し学習したいという方は、本ブログでももう少し深掘りして解説する予定ですし、ほかにもいいブログや教科書がありますので、そちらを参照ください。