未来を創る、テックコミュニティー

6/5 代表勉強通信~「Building Machine Learning Powered Applications」③

草場代表
2020/06/05

こんばんは。代表の草場です。

しばらくぶりですが、引き続き、「Building Machine Learning Powered Applications: Going from Idea to Product 1st Edition」を読んでいます。一通り読みました。自分で手を動かしながら、改めて復習しています。

機械学習を利用したアプリケーションを作ることはとても地味な作業が多いです。というか、小さなところから始めて検証を繰り返すので、失敗を気にせずに繰り返せる感じです。これは義務教育に組み込んでいいのではないかと思います。いくつか自分でアプリケーションを作成してみて、学校に持ち込もうと思います。

さて、二章は「プランを作る」ことの関しての記載があります。特に、何で成功を測るか?がテーマです。
機械学習というと、ディシジョンツリーとかCNNとか、機械学習モデルを思い浮かべることが私の場合は多かったです。モデルを評価する際、モデルメトリクスというものを設けてモデル性能を評価しますが、筆者は以下のように述べています。

製品メトリクスとモとデルメトリクスの間のずれが原因で、多くの機械学習プロジェクトが最初から破滅に向かっているのを目の当たりにする不幸な機会が多かった。多くのプロジェクトは、モデリングの難しさが原因というよりも、製品の役に立つことのない良いモデルを作ることで失敗している」

製品メトリクスとは、製品の品質を評価する指標のことです。機械学習モデルが、そもそも製品メトリクスと結びついていないと、モデルの精度を上げて意味がないということです。当たり前ですが、忘れがちです。
そのため、始めのモデルはシンプルなものにすることが大切です。結果を生成して分析することが、機械学習の進歩のための最も早い方法だからです。

そこで、まず始めに、ドメイン知識(ある分野の専門知識)に基づいたヒューリスティックの設計をします。ヒューリスティックはうまく日本語にできないですが、発見的手法のことです。予備知識に基づいて、自分たちでルールを定義することです。
つまりは、始めに問題を定式化する際には、必ずしも機械学習は必要ないということです。ヒューリスティックを構築することは、機能を構築するための最速の方法です。一度機能を構築して使用すると、ユーザーのニーズをより明確に把握することができます。これにより、機械学習が必要かどうかを評価し、どの機械学習モデルを選ぶのが最適かが決定できます。
「ほとんどの場合、機械学習を使わずに始めることが、機械学習製品を構築するための最速の方法です。」

機械学習製品の有用性に大きな影響を与えるパフォーマンスの4つのカテゴリーに分けられます。
ビジネスメトリクス
モデルメトリクス
鮮度(freshness)
スピード
これらのメトリクスを明確に定義することで、パフォーマンスを正確に測定することができます。

本日はここまで。

この記事を書いた人
草場代表
エディター