「仕事ではじめる機械学習」は、ディープラーニング入門の1冊目と言われる「ゼロから作るDeep Learning」の次に読むのがおすすめです。
なぜなら「ゼロから作るDeep Learning」は、初心者にもわかりやすいがゆえに「あらゆる問題がディープラーニングで解決できてしまうのでは」という万能感を感じさせてしまうからです。
本書は、そんな幻想に「待った」をかけてくれます。
本書の一文をご紹介しましょう。
「機械学習は技術的負債の高利貸しのクレジットカード」というタイトルの論文があるほど、機械学習を含んだシステムは通常のシステム以上に技術的負債が蓄積しやすいのです。
このエントリでは、「仕事ではじめる機械学習」の内容をまとめます。
機械学習プロジェクトの流れについて、何をどういった順で行うのかが説明されています。
特筆すべきはやはり「2. 機械学習をしないで良い方法を考える」でしょう。
前述したように、機械学習は技術的負債が蓄積しやすい技術です。機械学習以外の既存技術で実現できるのならコストの高い方を選ぶ道理はないでしょう。
機械学習の研究では4と7について重点的に取り扱いますが、実務では1~8の全てを行う必要があります。この事実だけでも機械学習プロジェクトの難しさが想像できます。
では成功させるためにはどうしたら良いのでしょうか?著者は次の4者の存在が重要だと述べています。
人工知能を扱える人材は先端IT人材と呼ばれ、需要に対して供給が大きく不足しているという現状があります。
私自身に当てはめて考えてみますと、CREという職種柄、ある程度CSに関するドメイン知識があります。
今は機械学習の勉強中なので、1と2を兼ね備えた人材を目指していけば市場価値のある人材になれそうです。
機械学習でできることを次のように分けて、それぞれのアルゴリズムの特徴を説明しています。
本書では次のアルゴリズムが紹介されています。
ここではロジスティック回帰、SVM、k-NN、ランダムフォレストだけまとめておきます。
線形分離可能な対象を分離するアルゴリズム。パーセプトロンとの違いは下記。
シンプルな方法であることから、機械学習のアルゴリズムを比較する際のベースラインとしてよく使われる。
分類問題を解くときに非常によく利用され、線形分離可能なだけでなく非線形分離が必要の問題にも適用できる。
学習も高速で、マージンを最大化することで過学習を抑えることができること、カーネルを使って線形分離不可能なデータでも高次元のベクトルに変換することで線形分離できるという特徴がある。
未知のデータが入力された際、近くの既知データk個の所属クラスの多数決によってクラスを決める。非線形分離が必要な問題にも適用できる。
「近くの既知データ」との距離には、2点間の直線の長さであるユークリッド距離や、データ群の平均からの近さだけでなく分散も考慮したマハラノビス距離が用いられる。
決定木から派生したアルゴリズムで、利用する特徴量の組み合わせをいくつか用意して決定木に学習させ、性能が良かった学習器の予測結果を多数決で決めるというもの。
決定木の決定境界は直線にならないため、線形分離不可能な問題に利用するのが良い。
教師あり学習の1つで、入力データから連続値を予測する。
本書では次のアルゴリズムが紹介されています。
教師なし学習の1つで、データの傾向を掴むために使われる。
似ている組み合わせをまとめていく階層的クラスタリング (Hierarchical Clustering)や、距離の近いもの同士をk個のグループの分割する k-means などがある。
高次元のデータからできるだけ情報を保存するように低次元のデータに変換すること。
主成分分析 (Principal Component Analysis) が有名だが最近は t-SNE も可視化のために人気がある。
外れ値検知 (Outlier Detection) とも言う。通常、異常データの件数はとても少ないため、単純に分類モデルを学習しようとすると常に「正常」を出力してしまう。
データに極端な偏りがあるという特徴から、教師なし学習が使われることが多い。scikit-learn では SVM ベースの One Class SVM などで異常検知ができる。
評価の指標として次の4つが紹介されている。
偏りがあるデータに対して単純な正解率は意味をなさないことがほとんど。
100件中60件がスパムだったとして、100件全てをスパムと判定すると正解率60%になってしまう。
出力した結果がどの程度正解していたかを表す指標。
スパム分類の例で言えば、スパムと予測したうち本当にスパムだった割合。
出力した結果が実際の正解全体のうちどの程度カバーしていたかを表す指標。
スパム分類の例で言えば、全スパムのうちスパムであると予測した正解の割合。
適合率と再現率の調和平均。適合率と再現率のバランスが良いほどF値が高くなる。