教師あり機械学習とはつまりはアルゴリズムを使ってPDCAのCとAを自動化することである

データ分析の知識が無い人に機械学習をどう説明するか

機械学習の説明をする際にどうしたらいいか考えていたら、教師あり機械学習については結局のところは(将来はいざしらず)普段行っていることの道具や方法が少し違うだけで本質的には何も変わりがないのでは、という結論になった。機械学習というとなんだかさっぱりわからないから手をださないか、逆に人工知能が何から何までやってくれるので人間は必要なくなる、と両極端になることが多いようだが、そうではなく1つの道具に過ぎないということが伝わればより使われるようになるのではないか。

PDCAと教師あり機械学習を比較する

PDCAと教師あり機械学習について一般的な流れをまとめたのが次の表になる。

PDCA 教師あり機械学習
P 目的と計画を決める 目的とアルゴリズムを決める
D 施策を実行する プログラムを実行する
C 結果を評価する 誤差を評価する
A 改善する パラメータをチューニングする

このように、教師あり機械学習とはPDCAサイクルの1つの形で、道具が数式とコンピューターとアルゴリズムになったにすぎない。それらに対するアレルギーが強いと何か得体のしれない事をしていると感じるようだが、やっていることにさほど変わりはない。

一般的なビジネスシーンで言われるPDCAとの大きな違いはアルゴリズムさえ決めてしまえばあとはコンピューター任せにできるというところで、ブースティングのようにC→Aを高速に回したり、あるいはランダムフォレストなどのバギングのようにDをこちらも大量に行うことで精度を高めたりすることができると言う点。これは人力ではとてもできないため、アルゴリズムが威力を発揮する。

何が正しいか、あるいは評価するかの基準を決めるPについてはまだ人の介在する余地があるが、いずれ大量のデータから「何が利益に繋がるのか」を学ぶ仕組みもできるのかもしれない。その時はコンピューターだけで完結する世界においては機械学習が使えるかどうかで圧倒的な差が生まれることになるだろうが、それがいつになるかはわからない。

PDCAを回せない企業に機械学習は使えない

教師あり機械学習がPDCAであるのだから、PDCAを回せない企業に機械学習は使えない。なぜならば、PDCAがうまくいかない原因はDばかりでCが行われないかCが行われてもAに繋がらないというのが非常に多いからであるが、Cを行うことはアルゴリズムで対処できても、Aを行うことは機械学習で精度の高い結果を出すのとは別の話だからだ。

言い換えれば「Aまで全て自動化する場合」つまり人間の意思決定が介在しない場合は機能する可能性はあり、例えばWebのレコメンドエンジンのように機械学習がうまく使われているのはこのような場合ではないだろうか。ただしその自動化を導入を決めるにあたっては人が介在するので、そこをクリアする必要はあるが。

教師あり機械学習をビジネスに活用するためには

従って、教師あり機械学習をビジネスの現場においてうまく活用するためには

  • 普段からPDCAを動かしており、そのための道具の1つとして使う
  • 実行まで含めて1つのプロジェクトとして動かす

のいずれかの条件が必要となるのではないか。前者は経営者やマネージャー層に機械学習への理解がある企業でないと「何をしているのかわからないので使えない」と言われてしまいそれで終了となるのでうまく説明する能力が別に必要だし、後者は後者でブラックボックス化への懸念を払拭しないといけないというこれもまた別の問題に向き合わねばならないが、あえて選ぶならばまだ後者の方が自分で実行までできるので動かしやすい。

機械学習は道具にすぎない

繰り返しになるが、結局のところは「目的を決めて、やってみて、ずれを修正し目的に近づける」ということでしかなく、あとは道具が違うだけ。道具は使い方を学べば(得手不得手はあるにしても)誰でもそれなりに使うことはできるが、人の意識を変えるのは容易いことではない。機械学習の議論は「道具の使い方」は多いが「なぜPDCAを回すのか」「機械学習はその中でどう使えるのか」という話にはあまりならないようで、それゆえに道具としての機械学習もなかなか一般には浸透しない、ということになっている気がする。

だとしたら、より多くの人に理解してもらうように説明や啓蒙を行うのもデータ分析者の役割ではないかと思うのだが、今度はそれをデータ分析者や専門家に理解してもらうためにはどうするか、という新たな問題に突き当たってしまい、悩みは尽きないのであった。