[日本語訳] 1.2 Machine Learning What is Machine Learning? by Andrew Ng 機械学習
0情報ソース
1.2 Machine Learning What is Machine Learning? by Andrew Ng (7 分)
機械学習とは何か?
このビデオではこの定義を行い、さらにどのような場合に機械学習を使えるかの概要をお話します。
機械学習の実践者の間でも、何が機械学習で何がそうでないかの定義はよく定まっていません。しかし、いくつかこの定義を試みた例を見てみましょう。これは機械学習とは何かという定義としてアーサー・サミュエルが提唱したものです。
彼は、機械学習をコンピュータに明示的にプログラムすることなく学習する能力を与える研究分野だと定義しました。サミュエルが有名な理由は、1950 年代に、チェッカーゲームのプログラムを書いたことです。
そしてこのチェッカーゲームのプログラムの驚くべき点は、アーサー・サミュエル自身はあまり上手なチェッカープレーヤーではなかったことです。しかし、彼は、プログラムが自身を相手に数万回ものゲームを行わせたのです。そしてどのようなボードの配置が勝つ傾向があって、どのようなボードの配置が負ける傾向にあるかを見ることにより、チェッカープログラムは、やがて、どれが良いボードの配置でどれが悪いボードの配置かを学びます。
そして、ついにはアーサー・サミュエル自身よりもチェッカーをうまくプレイするように学びました。これは、注目すべき結果でした。サミュエル自身はさほど上手なチェッカープレーヤーではありませんでしたが、コンピュータには自分で数万回ゲームを行う根気があります。それほど多くのゲームをプレイする根気のある人間はいません。これを行うことにより、コンピュータはチェッカーのプレイ体験を極めきり、最終的にアーサー・サミュエル自身より上手なチェッカープレーヤーになりました。
これは多少、非形式的な定義ですし、やや古くもあります。ここに、ややより最近の定義で、 トム・ミッチェルが提唱したものがあります。彼はカーネギー・メロン大からの友人です。トムは、次のように機械学習を定義します。
適切に提起された学習問題は以下のように定義される。コンピュータ・プログラムは、ある課題 T について、ある性能基準 P に基づき、もし T についての性能が基準 P で測定して、経験 E と共に改善している場合に、経験 E から学習したと言うことが出来る。
実は私は彼がこの定義を考えたのは、単に韻を踏むためではないかと疑っています。チェッカーゲームの例でいきますと、経験 E は数万回もプログラムにゲームを自己を相手にプレイさせた経験となります。
課題 T は、チェッカーのプレイです。そして性能基準 P は、新たな対戦者に対して次のチェッカーのゲームで勝つ確率でしょう。
こうしたビデオを通して、私が講義するだけでなく私から皆さんに質問を出して皆さんが内容を理解しているか確認します。
これがその一つです。
一番上に、トム・ミッチェルによる機械学習の定義があります。例えば、電子メールプログラムが、どの電子メールをユーザーがスパムとしてフラグを立てるかどうかを見ているとします。このような電子メールクライアントでは、スパムボタンをクリックして特定の電子メールをスパムとして報告しそれ以外は報告しません。
そして、どの電子メールをスパムとして報告するかにより、電子メールプログラムがスパム電子メールをより正確にフィルターするように学習します。
この場合の課題 T は何でしょうか?
数秒後に、ビデオが停止します。その時に、マウスを使って 4 つのラジオボタンから一つを選び、この質問に対してどれが正しい答えか私に知らせることが出来ます。
これが正しい答えとして選んで頂けたかと思います。「電子メールをスパムと非スパムに仕分ける」が課題 T です。事実、この定義では、課題は性能基準 P と 経験 E と合わせて定義されます。
よって、「ユーザーがスパムと非スパムにラベル分けするのを見る」は経験 E 、そして「正しく分類された電子メールの比率」は 性能基準 P となります。そして、課題 T に対するシステムの性能は、性能基準 P に照らして、経験 E の後で改善されることになります。このクラスでは様々な種類の学習アルゴリズムについて講義していきたいと思います。
学習アルゴリズムにはいくつかの種類があります。
主な二つの種別は、いわゆる教師あり学習と教師なし学習です。これらの用語の意味については、次回以降のビデオで定義していきます。しかし教師あり学習の発想は、コンピュータに何かするやり方を教える、ということです。
一方、教師なし学習では、コンピュータが自分で学ぶのに任せるということです。この二つの用語の意味が分からなくても心配しないでください。
二回目以降のビデオでこの二種類の学習が何かについて詳しく説明します。
また他の流行語、例えば強化学習やレコメンダーシステムなどについても触れます。これらは他の種類の機械学習アルゴリズムで、後の講義で触れることになりますが、しかし、最もよく使われる学習アルゴリズムのうちの二つは、おそらく教師あり学習と教師なし学習で、これらについては次回以降のビデオで定義していきます。
また、このクラスの大部分は、この二種類の学習アルゴリズムについて費やすことになります。それ以外にこのクラスで時間を費やすことになるのは、学習アルゴリズムの適用に関する実践的なノウハウです。
これは私が特に重要だと考えることで、また、他の大学では必ずしも教えていないのではないかと考えることです。学習アルゴリズムについて教えるのは、道具を与えるようなものですが、それと同等か、それ以上に重要なのは、道具を与えるだけでなく、それをどのように使うかを教えることです。
私が好きな学習の類例は、大工になることです。誰かから大工になるために教えてもらっていると想像してください。これが金槌で、これがネジ回しで、これがノコギリで、後は頑張ってね、と言われたとします。
これは良くないですよね?
こうした道具はあっても、もっと大事なことは、こうした道具を正しく使う方法を学ぶことです。ここには大きな違いがあります。機械学習アルゴリズムの使い方を知っている人とこうした道具の使いかたを知らない人とでは。
私が住むシリコンバレーでは、様々な企業を訪問すると、たとえシリコンバレーの大手企業であっても、私がよく見かけるのは、人々がある問題に機械学習を適用しようとしていて、時にはそれに 6 ヶ月も費やしているケースです。しかし、私が彼らのやっていることを見ると、時には、あれまあ、6 ヶ月前の時点で、選択した学習アルゴリズムを適用するのに、少しだけやり方を変えていれば、成功率が格段に良くなると言えたのに、と思うことがよくあります。
ですから、このクラスでは、実際にかなり時間を割いてお話しするのは、いかに、機械学習システムを実際に開発しようとする場合に、いかにベストプラクティス的な決断をシステムを構築する際に行い、学習アルゴリズムを適用する際に、6 ヶ月もあるやり方を追求したあげく、誰か別の人にそのやり方は最初から全く実現の可能性がなく、6 ヶ月は時間の無駄だったと見破られてしまうことのないようにするためです。
ですから、実際にかなりの時間をかけてこうした種類の機械学習と AI のベストプラクティスについてといかにこうしたものを実際に稼動させるか、どうやるか、シリコンバレーや世界中ののトップレベルの人たちがどうやるか、について教えていきます。皆さんにぜひこうしたトップレベルの人達に加わって、本格的な機械学習および AI システムを設計し構築してもらいたいと思います。ということで、これが機械学習で、これが私が教えていきたい主要なテーマです。
次のビデオでは、教師あり学習とは何かを定義し、そしてその後で、教師なし学習とは何かを定義します。また、どのような場合にどれを使うかについてもお話していきます。