1.2 機械学習とは何か?
機械学習とは、コンピュータがデータから予測や動作をしたり、それらを改善するために用いる手法全般のことを指します。 例えば、家の価値を予測するためには、コンピュータは過去の家の売値からパターンを学習するでしょう。
この本は機械学習の中でも、教師あり学習に焦点を当てています。 教師あり学習は、関心のある結果(過去の住宅価格など)が既知のデータセットがある状況で新しいデータに対する予測の仕方を学習したいというような場合の全ての予測問題に相当します。
教師あり学習以外のものは、例えば、クラスタリング問題 (= 教師なし学習)があります。 これは、関心のある結果が手元にない状況で、データ点の集まり (クラスタ)を知りたいという問題設定です。 強化学習という、テトリスをプレイするコンピュータなど、ある環境下での行動に対して、得られる報酬を最大化するように学習する方法も扱わないこととします。
教師あり学習の目的は、データの特徴量(敷地面積、場所、床の種類など)と結果(家の価格など)を対応させる予測モデルを学習することです。
予測対象がカテゴリカルな場合、それはクラス分類と呼ばれ、予測対象が連続の数値である場合は回帰と呼ばれます。
機械学習アルゴリズムにおける学習とは、重みのようなパラメータを推定するか、グラフの木のような構造を決定することをいいます。
そのアルゴリズムはスコアまたは損失関数を最小化するように動きます。 住宅価格の例では、機械は予測した住宅価格と実際の住宅価格の差を最小化します。 こうして訓練された機械学習モデルを用いることで、新しいインスタンスに対して予測できるようになります。
住宅価格予測、商品のレコメンド、道路標識検出、債務不履行予測、不正検知、これらのすべての例は機械学習で解決できるという共通した点があります。 それぞれのタスクは異なりますが、アプローチは一緒です。
ステップ1:データを収集します。 多ければ多いほど良いです。 データには予測したい結果と予測するための追加情報が含まれていなければなりません。 道路標識検出の場合(「画像に道路標識はあるのか?」)、道路の画像を集めて標識が含まれているか否かのラベルを付けます。 債務不履行予測の場合、過去の債務情報、顧客が債務不履行をしたかの情報、及び収入や債務不履行歴など予測に役立つデータが必要です。 住宅価格自動予測プログラムの場合、過去の住宅売買情報や広さ・立地など不動産に関する情報が収集可能です。
ステップ2:これらの情報を道路標識検出モデル、債務評価モデル、住宅価格予測モデルなどを生成する機械学習のアルゴリズムに入力します。
ステップ3:新しいデータに対してモデルを使用します。 モデルを自動運転、債務申請手続き、不動産市場のウェブサイト、などの商品や手続きに統合します。
機械は、チェス(または最近では囲碁)、天気予測など多くのタスクにおいて人間を上回っています。 機械が人間と同じくらい優れている、もしくは少し劣っていた場合でも、スピード、再現性、スケールの観点で大きな利点があります。 一度導入された機械学習のモデルは、人間よりもはるかに速くタスクを完遂でき、一貫した結果を確実に提供し、複製も無限にできます。 機械学習モデルを別の機械に複製するのはとても早くて安価です。 あるタスクのために人間を訓練させるために数十年かかることがあり(特に若い人)、多くの費用がかかります。 機械学習を使用する時の大きな欠点は、データや機械が解決する問題に関する洞察が、ますます複雑になるモデルの中に隠されてしまうことです。 ディープニューラルネットワークを説明するためには数百万の数値が必要であり、モデル全体を理解する方法はないのです。
ランダムフォレストのような他のモデルでは、多数の決定木を用いて”多数決”を行うことで予測します。このとき、どのように意思決定がなされたかを理解するためには、投票がどのように行われたかと、それぞれの決定木の構造を調べる必要があります。しかし、それはあなたがどんなに賢くて、記憶力が優れていてもうまくいかないでしょう。 最も性能のいいモデルは大抵、いくつかのモデルをブレンドしたもの (アンサンブル)であり、たとえ個々のモデルが解釈可能なものであったとしても全体として解釈ができないものとなってしまいます。もし、あなたが性能のみに注目するのであれば、自動的により不透明なモデルとなるでしょう。 機械学習コンペティションプラットフォーム kaggle.com の優勝者インタビューをご覧ください。 優勝したモデルは、ほとんど boosted trees やディープニューラルネットワークのような、とても複雑なモデルのアンサンブルモデルです。