新しいシリーズをやろうかどうか考えているんだけど(表題の件)、需要があるかどうかわからないので、とりあえず書いてみて、この記事の読まれ方で決めてみたいと思います(つまり、その2がなかったら、需要がなかった、見る人少なかったってこと)。
データがあって、何らかの予測をしたいとき、どういう手法を使って、どうやってその予測を説明、報告するかについて、書いていってみたいと思います。
ここでいう説明というのは
・予測値は、これこれである
・その予測値が出た理由は、これこれこうであり、
・予測値を改善するには、これこれをすればよい
という3点が言えることと考えます。
■予測の出し方・説明の仕方は、大きく分けると
モデルを使うか/例を出すかの2種類
予測を出すとき、入力がこうだと、出力はこうなるという数式や関数、ルール(これをモデルと、ここでは言います)を用いて予測を出す「モデルを使う方法」と、この入力値は、これに似ているので、これと同じ出力になるはずという「例に基づいて判断する方法」の2つがあります。
たとえば、アイスクリームの売り上げ予測をするとき、気温、湿度、天気などの要因を入力項目とし、「この入力値であれば、いくつ売れるはず」と売り上げを予測するのが、「モデルを使う方法」で、
似たアイスクリームを探して、「これはガリガリ君に似ている。ガリガリ君は昨日10本売れたので、明日はあ、ガリガリ君とこの製品を合わせて10本ぐらい売れるだろう」と似ているものを探して推測するのが「例に基づいて判断する方法」。
似たアイスクリームを探して、「これはガリガリ君に似ている。ガリガリ君は昨日10本売れたので、明日はあ、ガリガリ君とこの製品を合わせて10本ぐらい売れるだろう」と似ているものを探して推測するのが「例に基づいて判断する方法」。
■モデルを使う方法に2通り
モデルを使って予測・報告する場合、「線形回帰」など、モデルの構造が明確になっていて、入力値と出力値の関係が説明できるモデル(=ホワイトボックスモデルという)を使って予測・報告する場合と、「DNN」やアンサンブル学習など、入力値と出力値(予測値)の関係が複雑で説明できないモデル(=ブラックボックスモデルという)を使って予測・報告する場合があります。
ホワイトボックスモデルを使う場合は、予測のときに使ったモデルごとに、説明の方法があります(ただし、説明の流れは同じ)。
ブラックボックスモデルの場合、複雑で説明できない・・・と昔はなっていたのですが、今は、モデルにかかわらず、汎用的な説明方法がありますので、それを使って説明することになります。この汎用的に説明する手法が「説明可能なAI」(XAI)になります。
■例を使う方法
まず、何に似ているかを決めます。
K近傍法(k-nn)などが使えます。
そして、その似ているものの出力を確かめます。
そうすると、似ているものも、そのくらいかなと予測が立ちます。
もし、次回があったら、「ホワイトボックスモデル」について、線形回帰を用いて予測・報告する方法についてシェアしたいと思います。