以下の本は良書でした。機械学習プログラマーは読んでおいて損はない本だと思います。
機械学習は万能ではありません。学習させるデータ設定が間違っていれば、期待した結果が得られないのは当然のことです。
機械学習に関する書籍はたくさん出ていますが、そのほとんどはアルゴリズムに関するものです。
生成AIの影響もありますが、どれだけ学習の精度を上がられるかに関心が向けられていると思います。確かに、学習の精度は大切ですが、最初の問題設定を間違えてしまうと、どんなに学習の精度を上げても、意味のない答えしか得られません。
この本では、主に、リコメンド、ランキングを例にして解説しています。リコメンドやランキングでは、ユーザーが興味のあるものを上位に表示してクリックしてもらうことが目標になります。ショッピングサイトでも、自分が思っているものがなかなか表示されないとイライラしてきますが、それではサイトとしては販売機会を失ってしまいます。サブスクの場合は離脱につながってしまうでしょう。
基本的に学習させるデータとしては、ユーザーごとにどこをクリックしたかのデータになりますが、このクリックしたデータというのがくせ者です。
検索サイトでもそうですが、トップページに表示されたものほどクリックされやすいです。つまり、興味がなくてクリックしなかったのか、そもそも視界に入らなかったからクリックしなかったのか、クリックしなかったというデータだけではどちらなのか区別できません。また、クリックしたというデータについても、興味があったからクリックしたのか、間違ってクリックしてしまっただけなのか、こちらについても区別ができません。
また、そもそも本当に知りたいデータについては、入手ができないというジレンマもあります。例えば、リコメンドについても、例えばそれぞれの商品や曲のランキングについて、いちいち評価してくれるユーザーはいません。わたしもGoogleマップや食べログなどに評価したことはありません。めんどくさいからです。ユーザーに手間をかけさせるデータというのは入手できないことがほとんどです。つまり、入手できたとしてもそれはマメなユーザーというバイアスがかかっていることになります。これは、世論調査でも気になっていることですが、固定電話を対象にすれば、今どき固定電話を持っている家庭は高齢者層ほど高いわけなので、得られる回答も高齢者バイアスがかかっていると見なければなりません。その中から回答に答えてくれる人となると、さらに少なくなるので、もしかしたら同じ人が何回も回答しているかもしれません。
クリックデータも同様で、気をつけないと、興味のある商品があるが、下位に表示されているため、そもそも表示されずにクリックしなかったということがあります。これをポジショニングバイアスといい、これをクリックされなかったからといって興味がないと判断するのは早計ということになります。
このような学習させる以前の問題を整理しておかないと、いくらコンピュータに学習させても、意味のある結果を得られません。学習の精度の問題と考えて精度をアップさせても、そもそもの問題設定がずれているので、ずれたまま精度をアップさせてもまったく効果がありません。
不毛な時間とコストをかけただけに終わってしまわないように注意したいですね。