[日本語訳] 1.3 Machine Learning Supervised Learning by Andrew Ng 機械学習
0情報ソース
1.3 Machine Learning Supervised Learning by Andrew Ng
このビデオでは、最も一般的な機械学習問題である教師あり学習について定義していきます。
教師あり学習の定義は後ほど形式的に行いますが、たぶん一番いい説明は、それがどのようなものか例から始め、その後で形式的な定義を行うことでしょう。例えば、住宅の価格を予測したいとします。以前に、ある学生がデータセットをオレゴン州ポートランド市から集めました。そしてそのデータセットをプロットしたところ、それがこのようになったとします。
この横軸はそれぞれの住宅の敷地面積を平方フィート単位で表示しています。そして縦軸は、それぞれの住宅の価格を千ドル単位で表示しています。このデータを元に、ある友人の持ち家の敷地面積が仮に750平方フィートで、その人が家を売ろうとしていて、その
販売価格がいくらぐらいになるか知りたいとします。どのように学習アルゴリズムを活用できるでしょうか?
一つ学習アルゴリズムで出来ることは、データに直線を当てはめるか直線をデータにフィットさせます。それに基づくと、その家が15 万ドルぐらいで売れるように見えます。しかし、これだけが利用可能な唯一の学習アルゴリズムではないかもしれません。
もっとよいものがあるかもしれません。例えば、直線をデータに当てはめる代わりに、二次関数か二次の多項式をこのデータに当てはめる方がよいと結論するかもしれません。その場合は、予測値がここになり、それは、そうですね、たぶん家の販売価格はむしろ 20万ドルぐらいかもしれません。
後ほどお話することの一つは、どうやって選ぶか、どうやって決めるか、データに対し直線をフィットするかそれとも二次関数をデータにフィットするかです。どちらでも構わず
友人が家を売るのに都合のいい方を取るというのはフェアではありません。
しかし、これはいずれも学習アルゴリズムのよい例です。これが教師あり学習アルゴリズムの例です。そして教師あり学習という言葉の由来は、アルゴリズムに与えたデータセットには「正しい答え」が与えられていたことにあります。
つまり、住宅のデータセットを与え、そのデータセットの中の全てのサンプルに対し、何が正しい価格か、何がその家が実際に売れた価格だったかが示され、アルゴリズムの課題はこうした正しい答えを、例えば、友人が売ろうとしているこの新しい家の価格などを、もっと算出することです。
これをさらに専門用語を使って定義すると、これは回帰問題とも言います。そして回帰問題という意味は、連続値の出力、この場合は価格をを予測しようとしているということです。
厳密に言えば、価格は直近のセントに四捨五入できるので、もしかしたら価格は実際には離散値かもしれません。しかし、通常は、家の価格は実数、スカラー値、連続値として取り扱い、回帰という言葉は、一種の連続値的な属性の値を予測しようとしていることを指しています。
ここに別の教師あり学習の例があります。私はある友人と実際に以前、これに取り組んだことがあります。例えば、カルテの情報を見て、乳癌が悪性か良性かの予測を試みたいとします。
もし、誰かが乳房に腫瘍を、乳房にしこりを見つけたら、悪性の腫瘍は有害で危険な腫瘍で、良性の腫瘍は無害な腫瘍です。もちろん、これは人々が大いに気にすることです。データセットを集めたとして、仮にそのデータセットでは横軸に腫瘍のサイズを取り、縦軸は 1 か 0 か、肯定か否定か、診察されたサンプルが悪性だったか、その場合は 1 を、あるいはそうでなかったか、つまり良性か、その場合は 0 を、それぞれプロットします。
そしてそのデータセットが次のようだとします。このサイズの腫瘍は良性で、このサイズのもの、このサイズのもの、などと続きます。そして悲しいことにいくつか悪性の腫瘍も見つけました。このサイズのもの、このサイズのもの、このサイズのもの、と続きます。
ですから、この例では、5 件の良性の腫瘍のサンプルが ここにあり、5 件の悪性の腫瘍のサンプルが 、縦軸の 1 の値に並んでいます。仮に、ある友人が悲劇的にも乳房に腫瘍があり、その乳房の腫瘍のサイズは、大体これぐらいの値だとします。
機械学習上の問いは、その確率を推定できるか、腫瘍が良性ではなく悪性である見込みは何か、ということになります。少し専門用語を使うと、これは分類問題の例です。分類という言葉は、ここで予測しようとしているのが離散値出力、0 か 1、悪性か良性、であることを指します。
そして分類問題では時には、二つ以上の値が出力可能な場合があります。具体的な例として、乳癌には三つの種類があるかもしれません。すると予測を試みる離散値が 0、1、2、3 となり、0 は 良性、良性の腫瘍で、癌ではなく、そして 1 はタイプ 1 の癌、三種類の癌のうちの一つどれかがタイプ 1 になります。そして 2 は二つ目のタイプの癌、さらに 3 は三つ目のタイプの癌になります。しかしこれもまた分類問題です。なぜなら一組の離散値出力が、癌なし、癌タイプ 1、癌タイプ 2、癌タイプ 3 に相当するからです。
分類問題では、このデータをプロットするのに別の方法があります。
では、実例をお見せします。ここでは少し違うシンボルを使ってこのデータをプロットします。腫瘍のサイズを属性として使って悪性か良性か予測する場合、このようにデータを描くことができます。
異なるシンボルを使って良性と悪性、否定と肯定の例を表します。X を使う代わりに、〇 を使って良性の腫瘍を書きます。こんな風に。そして悪性の腫瘍は、引き続き X を使って表します。
よいですか?だんだん意味が分かってくるといいのですが。
私がしたのは単に、上に並んだデータセットを下に移し替えてこの実線に並べただけです。こんな風に。そして異なるシンボル〇 と X を使って、悪性と良性の例を示しました。さて、この例では、一つの特徴、一つの属性、すなわち腫瘍のサイズのみを使ってその腫瘍が悪性か良性かを予測しようとしました。
他の機械学習問題では、一つ以上の特徴、一つ以上の属性があることがあります。ここに
一例があります。
例えば、単に腫瘍のサイズだけでなく、患者の年齢と腫瘍のサイズの両方が分かっているとします。この場合、データセットはこうなるかもしれません。ある一組の患者の年齢と腫瘍のサイズがこうなっています。そして別の一組の患者は、少し違っていてその腫瘍は悪性だったとします、この X で示すように。仮に悲劇的にも腫瘍がある友人がいるとします。
そして、その人の腫瘍のサイズと年齢がこのへんに相当するとします。このようなデータセットを元に、学習アルゴリズムが行うのは、このデータに直線を通して、悪性の腫瘍を良性の腫瘍から分けようとするかもしれません。
そして学習アルゴリズムがここに直線を通し、二つの集合に腫瘍を分けたとします。そして、これを使って、願わくば、結論を出すのに、友人の腫瘍がこのあたりにあれば、学習アルゴリズムが友人の腫瘍は良性側に属すると判定し、よって悪性であるより良性である確率が高いとしたとします。
この例では、二つの特徴、つまり患者の年齢と腫瘍の大きさがありました。他の機械学習問題では多くの場合、特徴の数はもっとあり、この問題に取り組んでいる私の友人は次のような他の特徴も使います。塊の厚み、乳房の腫瘍の塊の厚み。腫瘍の細胞のサイズの均一性、腫瘍の細胞の形状の均一性、などです。他の特徴も使います。
そして、このクラスで学ぶ最も興味深い学習アルゴリズムの一つは単に一つや三つや五つの特徴を取り扱えるだけではなく、無限の数の特徴に対応します。
このスライドでは、合計で五つの別々の特徴がありました。二つはプロットの軸に、さらに三つこちらにあります。しかし、学習問題によっては、必要になるのは、単に三つや五つの特徴ではなく、代わりに無限の数の特徴、無限の数の属性を学習アルゴリズムに与えて、非常に多くの属性あるいは特徴、あるいは手がかりから、こうした予測を行わせることがあります。
では、無限の数の特徴にどのように対応するのでしょうか。そもそも、無限の数のものをどうやってコンピュータに保持するのでしょうか、コンピュータのメモリを使い切らずに。
サポートベクターマシンと呼ばれるアルゴリズムについてお話する時、巧妙な数学的手法によって、コンピュータが無限の数の特徴に対応することを可能にしていることが分かります。
想像してください。単に二つの特徴をここに、そして三つの特徴を右に書くだけでなくて、無限に長いリストを書いたとします。
そしてもっともっと特徴を書き続けるのです。正に無限の長さの特徴のリストです。実はこれに対応できるアルゴリズムがあるのです。
さて、少し要約しますと、このクラスでは、教師あり学習についてお話します。そしてその考え方は、教師あり学習では、データセットの全てのサンプルについて、「正しい答え」が何か与えられており、アルゴリズムにそうした例を予測させたいのです。
例えば、住宅の価格、あるいは腫瘍が悪性か良性か。また、回帰問題についてもお話しました。そして回帰という時の意味は、私たちの目的が連続値出力の予測であるということです。
そして、分類問題についてお話しました。その目的は離散値出力の予測です。では、まとめの質問です。
あなたが会社を経営していてるとします。そして学習アルゴリズムを開発して二つの問題に対処したいとします。最初の問題では、同一の品の大きな在庫があります。ですから、何か売りたい同一物が数千もあると想像してください。そして三ヶ月以内にこうした品を何個販売するか予測したいとします。二番目の問題、問題 2 では、非常に多くのユーザーがおり、ソフトウェア開発して個々の顧客のアカウントを一つ一つ調べたいとします。そしてそれぞれのアカウントで、その口座がハッキングされセキュリティが破られているか判定したいとします。
さて、それぞれの問題について、分類問題として取り扱いますか、それとも回帰問題として取り扱いますか? ビデオが停止したら、マウスを使って以下の四つの選択肢から、自分が正しい答えだとと思うものを選択してください。
これが正しい答えとして正解していただけたかと思います。問題 1 は、これは回帰問題として取り扱います。なぜなら、もし数千もの品があるなら、それはたぶん実数、連続値として扱うからです。よって、販売する品数も連続値として取り扱います。
そして二番目の問題では、これは分類問題として取り扱います。なぜなら、例えば、判定したい値を 0 とし、それはアカウントがハッキングされていないことを表します。そして、1 の値を、口座がハッキングされたことを表すのに使います。これは乳癌の場合に 0 を良性、1 を悪性としたのとちょうど同じです。ですから、この場合もハッキングされているかどうかで 0 あるいは 1 として、アルゴリズムにこのいずれかの離散値を予測させるでしょう。そして少数の離散値が関わるだけなので、これは分類問題として扱います。
さて、教師あり学習については以上です。次のビデオでは、もう一つの学習アルゴリズムの大きなカテゴリーである、教師なし学習についてお話します。