SEEDATA Technologiesは、統計学や情報科学を用いてインサイト開発を支援するチームです。この記事では、データ分析で用いられる、機械学習・データマイニングという混同されがちな2つの用語の位置づけを整理します。
機械学習(machine learning)は、近年の深層学習(deep learning)の画像認識や自動翻訳分野における急速な発展により、大きな注目を集めています。機械学習の目的は、一言でいえば「自動化」です。データから、入力データと出力値の対応を学習することにより、これまで人間が行っていた作業フローの一部または全てを機械に代替し、情報処理の高速化や人的コストの削減を行うことを目指します。
一方で、データマイニング(data mining)の目的は、”mining”という言葉が示すとおり、「(大量の)データから意思決定に役立つ発見やインサイトを導き出すこと」です。つまり、得たいのは「知識(knowledge)」です。マーケティングサイエンスにおいては、マーケティングを高度化するための生活者に関する知識(仮説や情報)を得ることが目的になります。
機械学習とデータマイニングを比較すると、機械学習は「正解してナンボ」な学問と言えます。自動化が最終目的であり、予測性能さえ高ければ、入力データと出力値の関係が人間にとって複雑でブラックボックスであることは大きな問題になりません。一方で、データマイニングは意思決定の支援を目的としているため、データから何らかのインサイトや発見を言い当てなければ、データを活用することはできません。
このような目的の違いから、実装の方法にも次のような違いが表れます。
機械学習: 繰り返し処理を行う
アルゴリズムに落とし込み、Webやシステムの中に処理を組み込む。
(e.g. コンテンツのレコメンド、自動翻訳、スパムフィルタなど)
データマイニング: 逐次的分析、単発分析(データごとに分析を試行錯誤する)
Rやjupyter(Python)といったnotebook形式のプラットフォームを用いて、人間が試行錯誤しながらインサイトを導き出す。
(e.g. POSデータ、アンケートデータの分析によりマーケティング施策を高度化する)
Rは統計分析に特化したソフトウェアですが、機械学習のような繰り返される処理を実装しシステムに組み込むには困難な言語であり、機械学習でPythonが広く使われているのはシステム化のしやすさゆえです。
SEEDATA Technologiesでは、機械学習とデータマイニングの垣根にとらわれず、データに基づいた意思決定のサポートに加え、自動化できる部分はアルゴリズムに落とし込みシステム化することを目指しています。機械学習とデータマイニングは共通する手法が多く出現しますので、用語・手法の羅列を断片的に理解するのではなく、数式を用いて横断的かつ滑らかに理解していくことで応用の幅が広がっていくと考えられます。