- HOME
- データマイニングは今!~データ分析におけるAI・機械学習時代の最新動向~
2022年1月28日 09:30
データマイニングというキーワードは少々古いものであるという印象を抱いている方も多いのではないでしょうか。昨今は機械学習や AI というキーワードが主流となっていることは事実です。
- 言葉としては使わないが、今の分析業務でも「データマイニング」の考え方は重要なのではないか
- 若いエンジニアはデータマイニングや AI・機械学習をどう捉えているのだろう
という素朴な疑問を解消すべく開催したNTTデータ数理システム内の座談会の内容を記録したものが本記事になります。なんとなく歴史を振り返ったり、データ分析のタスクを整理したり、今後必要となるデータ分析者の像などについて語り合いました。データ分析に興味ある若手の方もベテランの方もお楽しみいただければ幸いでございます。
NTTデータ数理システム データマイニング部
ベテラン技術者2名 若手技術者2名
NTTデータ数理システム データマイニング部に所属。部の名前が(20年前から)「データマイニング部」であるため本記事が誕生したともいえます。分析ツールの開発から分析案件のお客様に向けたコンサルティング・開発まで機械学習・統計などの技術領域を軸足に活動を行っています。
データマイニングというキーワードについて
一昔前に「データマイニング」が流行っていたことについて
【若手A】 自分は情報系の学部にいたので、授業でも履修科目としてありましたので、その頃からキーワードとしての認識はありました。学会の昔のポスターセッションの一覧などを見ていると、一時期の発表で非常に取り扱いが多かった時期があったりしましたので、当時注目されていたのだろうなという気配は感じていました。
【若手B】 大学では機械学習とかディープ系のものをやっており、キーワードとしては認識していましたが、正直あまり自分としては興味ないというか、「デジタルトランスフォーメーション」のようにビジネス用語みたいなものなのかな、くらいの認識しかなかったです。流行った時期があったとかそういったことは考えてなかったですね。
【ベテランC】 私は現在のデータマイニング部という組織が誕生した創設期に近いときに入社しましたので、当社の中では非常になじみ深い位置づけになるかと思います。相当昔になりますが、配属当時は正直データマイニングということ自体にあまりピンと来ていませんでした(笑)多分世の中的にもはじめはそういう感じであったと思います。明確な予測対象やゴールが設定としてあるわけでなく「データがあるから知見を出してよ」みたいなアプローチには違和感を感じて取り組んでいました。
【ベテランD】 ちょうどCさんの少し後に配属で合流しましたが、私もはじめのうちは同様の感覚でした。社内の勉強会の中で「データマイニングはクラスタリング・関連性分析・予測である!」、という明確なメッセージが出てきたときのことを今でも覚えており、ほうほうそういうものかね、と納得した記憶があります。
最近お客様から「データマイニング」ってキーワードが出てきますか?
【ベテランC】 そういえばめっきり聞かなくなった気がします。まあ正直昔から「データマイニングやりたいです!」というような言われ方はあまりなかった気もします。何か目的があってご相談をいただきますので、議論を続けていくうちに「その課題はデータマイニングで解決していきましょう」というご提案の出口で使っていたような気もします。
最近では DX や AI の号令の下で「何か分析やりたいです!」というご相談も多いですが、当時はデータ分析とかそういったことの世間での認知度が今よりも低かったためか、分析ロジックに対しての造詣が深い人からの具体的なご相談が多かったですね。データマイニングというざっくりしたキーワードではなく具体的なロジック(決定木や SVM など)を名指しで相談いただくイメージでした。
【ベテランD】 テキストマイニングというキーワードは特に当社から積極的に発信してきたこともあり、今でも使われているように思います。特に何をやるか目的が明確に決まっていないけれどもデータ活用をしたい、というシーンのときに何となく「マイニングしましょうか」という感じで使っていたということもあるかも知れません。
【ベテランC】 今では AI とかデータ分析、という言葉自体あまり深く考えないときも使っていますよね。まさにそんな感じでマイニングという言い方をしていたかも知れません。当時からセミナーなどで、データマイニングは探索的分析であったり、知識獲得型のアプローチであったりという話をしてきましたが、特別なことではなくむしろ今では特に「今からデータマイニングします!」と宣言もせずに自然にやっていることな気もします。前処理やデータアセスメント、基礎集計といった処理には名前を付けて作業しますが、これらの結果を確認しながらデータの性質を読み解くという行為はあえて言語化されない基本所作なのかなと思います。
データマイニングは今どうなった?
高精度な予測モデル構築のみはデータマイニングではない?
【ベテランD】 当社のセミナーや講演などで、「どうして分析したいの?」という問いを再整理した際、
- 現状把握
- 予測
という切り口でご説明するようにして、今ではそれがしっくり来ています。機械学習という文脈になると、予測が中心になる場合が多いとは思いますが、私としては、精度の高い予測をすることだけが分析の全てじゃないよね?という想いがあります。予測を中心に考える場合でも、前処理・基礎集計・何らかのラベルの付与など、人データを眺めてが解釈をして現状把握しながら行う部分もあって、現状把握:予測 = 2:8 みたいな感じなのではないでしょうか。
【若手B】 「現状把握 = データマイニング」というイメージがありますね。前処理や探索的データ解析の部分がデータマイニングなのかなと思っています。ロジックを適用して予測だけする、というのはデータマイニングというイメージはないです(精度の良し悪しに関わらず)。XAI とかそういうので振る舞いを調べてみるのもデータマイニング的なのかなってなんとなく思っていたところです。ちょうど当社のメンバーからも XAI の本出ましたよね?
XAI(説明可能なAI)--そのとき人工知能はどう考えたのか?
【ベテランC】 昔から予測モデルを構築する、というのは当然業務として取り扱ってきました。ただ、純粋に精度の高い予測を目指すだけ、という案件は少なかった気がします。当然精度の高い予測モデルを構築するために頑張るのですが、モデルの解釈も含めて解析していくのが当たり前でした。なので予測だけどデータマイニングではないというようなことは、改めて当時の気持ちで考えると新鮮ですね。
Deep Learning をはじめ高精度な機械学習手法が認識を変えたか?
【若手B】 私がこのデータ分析界隈にて研究とかを始めた 2017年ころはちょうど Deep Learning が流行ってきたころかなと思うのですよね。その当時は「ディープでポン」みたいな、「精度が高ければいいじゃん」の感覚のものも多かったと思います。当時から Gradient Boosting Machine(GBM) のようなものがありましたけれども、「精度高ければいいじゃん」は Deep Learning の方が許されるようなイメージがありました。もしかしたら手法というよりも、適応先が画像判別だったというのがポイントなのかもしれません。
【若手A】 学部2年くらいから Deep Learning が流行ってきていました。当時を振り返ると、周りの流行に敏感な人とか GAN で遊んでいたことを思い出しました。当時は画風変換とか見てすごいなと感動した記憶があります。確かにBさんのいう通りで、画像に関して判別とかにも使えるよねとか、有効なタスクが増えてきたところだったように思います。 成功事例の対象データが画像だったというところが、あまり理由とか分析を必要としないカルチャーを作ったのでしょうかね。そもそも人間だって犬とか猫の判別とか、なんで犬だかって分からないですよね? 特徴量(目と目の間の距離とか)を設計しなくていいって当時はすごくセンセーショナルに聞いていました。今はもう当たり前な気がしますが。Deep Learning の一発目の事例が金融の「与信審査」とかだったらここまで流行らなかったかもしれませんね。
機械学習、Deep Learning ブームの前にビッグデータとかありましたよね?
【ベテランC】 インフラの話を包含していたのかな。データがなければためよう!という話が許される世界が開けたともいえるのかなとも思います。それまでは、データが目の前にある人だけがデータ分析を語ることが許されていたが、それ以上に参加できるプレーヤーが増えましたね。Hadoop とか DWH などのインフラとかシステムの人も、分析・データ活用というプロジェクトに大きく人が集まった感じですかね。まあ今思えばデータがビッグなことしか規定していなかったですが、それなりに分析・インフラ色々と変化があった気がしますね。
【ベテランD】 分析の観点からすると、ちょうど過渡期だったのかもしれないですね、ビッグデータブームで増えたデータで学習するためにミニバッチとか SGD とか今のモデル学習方式が流行りだしたようにも思います。データは与えられるだけ与えてしまえ!という発想はそれまであまりなかった気がしますので、そういう方向に少しずつ慣れるための時期というか。もう少し前でしたら、統計に詳しい人が「本当にそれでいいの?」と反対するようなこともあっただろうと思われることも、今は結構平然とやっていますからね。統計から眺めた際の機械学習の少々雑な部分に対して、ビッグデータブームのおかげで少しみんなが慣れることができたかもしれません。
【ベテランC】 画像データが少ないときに回転させた画像データでかさ増しさせるようなアプローチとか、最近では当たり前のことも、確かにひと昔以上前ではためらうことも多いかもしれませんね。「乱択アルゴリズム」とか昔言いましたよね?今ではそれが当たり前なので、敢えて言いませんけれども。慣れたのかな(笑)
【若手A】 AI とか機械学習は例えば囲碁とか将棋の深層強化学習があったり、画像においての技術的ブレークスルーがあったりきっかけがあったと思うのですが、ビッグデータで成功事例っていうのがないと流行らない気がしますけども、何か社会的大きなインパクトがあるものってあったのですか?
…、一同沈黙 …。
【ベテランC】 ぱっとこれという何かセンセーショナルなものは思いつかないですね。SIer とか シンクタンクとかそういうところがプロモーションを盛んに行っていたような記憶はありますが。
【ベテランD】 ウェブ広告やECサイトなどウェブでのビジネスが盛んになってきた頃かも知れないですね。インターネット上でのビジネスが続々と台頭として、当たり前になり、データが大量に取得できるようになったというところも関連しているのかもしれないですね。
分析関連のブームについて補足:
データマイニングブーム
1990年代から2000年代にかけて「データマイニング」というキーワードがデータ分析界隈でトレンドになった。統計解析が主流だった当時のデータ分析に対して、統計的モデルや統計的仮説をあまり重視せず探索的にデータ分析を行い知識獲得をしようとする取り組み。知識獲得が主目的のため、予測モデルを構築する際にも解釈・考察を伴うのが当然という雰囲気だった。
ビッグデータブーム
2010年代に新聞やニュースなどでも盛んに「ビッグデータ」という言葉が取り上げられ、社会的に注目と期待を受けた。おそらく震源は SIer などのITインフラを本業にしている人たちで、データ分析を生業にしている当社では他人事感があった。ブーム中期以降では「データが大きくなくても 3V(Volume、Variety、Velocity)のどれかが大きければビッグデータだ。みんなビッグデータを持っているはずだ。」という風潮で、多くの企業でデータ分析インフラ構築の機運が高まった。
データ分析の観点では、メモリに乗らないサイズのデータも分析アルゴリズムの適用対象と認識されるようになり、オンライン学習やミニバッチ学習などのアプローチが標準的に使われ始めた。ビッグデータを活用して精度が高いモデル作ることが正義で統計的厳密性はあまり気にしない、というような取り組みも否定されにくくなってきた。
AIブーム
2012年頃からの Deep Learning の画像認識分野での目覚ましい成果、2013年頃からの AI が囲碁や将棋でプロ棋士を打ち負かすというセンセーショナルな出来事などを追い風に、AI・機械学習が社会的なブームとなった。今では一過性のブームの域を超え、AI が普通の道具の1つになりつつある。
従来は特徴量生成、パラメータチューニングなどは分析技術者の職人芸に頼っていて高精度な予測モデルを作るのは難しいタスクだったが、学習アルゴリズムの進歩や機械学習系ライブラリの利便性向上で誰でも簡単に高精度な予測モデルを作れる環境が整いつつある。モデル学習のほとんどすべてを自動化する AutoML ツールも充実してきた。一方で高精度な予測モデルは人間にとってはブラックボックス化しやすく、重要な判断に機械学習モデルを適応する際に人間が解釈できる理由を提示するための XAI(Explainable AI)という考え方も近年注目されている。
データ分析はどう変わってきたか
【ベテランC】 使う手法とかは色々と変わってきましたが、実はやっていることは大きくは変わらない印象を持っています。結局のところ、予測した後に精度が出ないときの打ち手の模索とかはデータマイニング的なことをやっていますね。データの性質を見ながら欠損補間の見直しを行ったり、説明力があるデータが集まっていないのでデータ収集にフィードバックしたりしますよね。 「一発で最適化な答えが出せる王道みたいなものはない」ことは前提ですね、いまだに。当然とりあえず GBM をかけてみるというようなことはやりますけれども、基本的に手元のデータを見て、というところはスタンスとして変わっていないように思います。画像とかタスクによってはBさんの言ったような「ディープでポン」が一歩目のときもあると思いますけどね。
【若手A】 当社から見たお客様の属性も変わってきたのですね。かつてはより分析に対して専門性が高い人で、分析モデルの中身に踏み込んだディスカッションだったのかなと推察します。そういった方々は今はご自身で Python などを用いて実施していて、当社のようなところへの相談も減ってしまったのかも知れないですね。
【ベテランD】 技術に愛着がある人から、成果にこだわる人に変化してきた、というところでしょうか。世の中的に分析とかデータ活用のすそ野が広がってきた結果ですね。私たちもアルゴリズム屋さんから、いわゆるコンサルティング的なところも求められるようになったように思います。 かつては SVM など特定のロジックをひたすらチューニングする、という案件は多々あった気がします。今は色々なモデルを一気にぶん回すことが主流なので、特定のモデルをこねくり回す系のチューニングはやらなくなりましたね。いつ頃からですかね、ベイズ最適化って非常に有効ですねという話が出てきた頃でしたっけ?
【ベテランC】 複数のアルゴリズムを並べて比較できるようにしましょう、というインターフェイスの統一が重要なターニングポイントなのかなと思ったりします。scikit-learn で機械学習モデルのインターフェースが統一されて、pandas も便利になってデータ現状の「分析=Python」みたいな感じになりましたが、その頃からあまりハンドメイドでチューニングをしなくなってきたように思います。昔は特徴量エンジニアリングとかモデルのパラメータチューニングを職人芸的に行うというのも分析担当者の腕の見せ所だったように思いますが、今は一通り特徴量を作って Optuna で自動パラメータ探索でよくね?という雰囲気ですね。
【ベテランD】 GBM を使っておけばならあまり細かいチューニングをしなくても精度の良いモデルが作りやすいというのもあるかもしれませんね。SVM はパラメータによってはうまく学習できない場合があってチューニングが難しいイメージがあります。
今のデータ分析に求められるもの
今この時代に求められるツールってどんなものでしょうか?
【ベテランD】 AutoML 系ツールはやっぱり便利ですよね、大幅な工数の短縮ができるようになっていると思います。
【若手A】 多分皆さんは分析ができる人が使う前提で話をされていると思うのですが、私としては分析の非専門家でもある程度の精度がだせる分析ができるようになった、というところが凄いと思ったりします。自分たちのデータをとりあえず入れれば高精度な予測(判別)モデルができてしまうというのはとてもすごいことですね、結構な PoC を非専門家ができてしまう、そういう感動がありますよね。
【ベテランC】 とはいえ、AotoML系ツールがカバーしている範囲は分析の世界観からすると一部で、カバーできない範囲もありますよね。先ほど出てきた、「現状把握」「予測」の中で「現状把握」の部分は明らかにいわゆるデータマイニング的なアプローチが必要なのだと思います。あとは精度を目指す予測系のタスクにおいても、データが妥当かどうか前処理が妥当かどうか、という点は AutoML系のツールの外で実施する必要がありますよね。まあいわゆる BI ツールとかでもいいのかなと思いますが、もう少しリッチにやろうとするとデータマイニング的アプローチでしょうか。
【ベテランD】 確かにそうですね、例えばテキスト分析だと原文参照とか含めて現状把握のための試行錯誤は非常に重要だと思いますし、データ分析の場合もデータ縮約やクラスタリングでデータの特性を把握しようとするとそれだけで業務に役立つ知見が得られる場合もあります。汎用の分析ツール(当社では データ分析プラットフォーム Alkano を開発・販売しています)が目指している世界は、現状把握と予測の両方ということになるのかと思います。自動化しやすい予測のところに特化して切り出された AutoML ツールはその部分では強力ですが、現状把握も重要な分析の一部ですね。
優秀な分析者像は今と昔で変わってきたか?
【ベテランC】 昨今求められているものは、総合力に近いものになってきている気がします。お客様が本当にやりたいことは何かを整理するためのビジネスやコンサルティングの能力、それをきちんと具現化するためのデータサイエンスの知識や実装力というところでしょうか。課題整理という意味では「現状把握」が手早くできることもやはり重要ですね。
【若手A】 どういう風に習熟していくのでしょうか?今の技術で何ができるかということは熟知している必要はあると思っています。結果を見てうまくいかなかったときの打ち手の判断、データが悪いか偏っているか、外れ値が多い、など打ち手の試行錯誤でノウハウや統計的知識も必要だと思っています。コンサルティング的なものは難しいなと思っています。この前私が担当した案件ですと、もっと活用のシーンとか将来を見越したようなマイルストーンをきちんと描けるようにならないといけないなと痛感したことがありまして、そういうのはコンサルティングなんですかね?
【ベテランD】 それはとても難易度が高いことをおっしゃっている気がします。基礎知識とかは座学的な勉強で習熟できるところはあると思いますが、そういうコンサルティング的なものって発想とかその場でアイディアを出したりすることも求められますよね。色々な経験から引き出しを沢山作って、分析とかその活用の色々なシーンに触れることによって習熟していく部分もあるのかなと思います。周りの先輩方の引き出しから色々と物色するのも近道かも知れませんね。私としては、お互いの思い込み・先入観や、専門の違いによる言語の壁、文化の壁などはディスコミュニケーションの温床だと思っていますので日々気をつけています。仕事の特性からデータを介してコミュニケーションをとることが大事ですが、切り口や可視化の仕方で印象が変わってしまうので、議論が弾みつつも変なバイアスをかけないような見せ方や説明の仕方に気を使いますね。
【ベテランC】 ロジックを「作れる能力」から「色々使える能力」という変化もありますね。かつては気軽に色々作っていたような気がしますが、今はまず使えそうなライブラリがあるかどうか探しますよね。
【若手B】 研究系の人はいまだバリバリ作っているイメージもありますね。直接お客様と相対してやりたいことを実現する立場の分析者は色々なライブラリを「使える能力」に比重があるのかなと思いました。私としては両方とも力を入れて頑張っていきたいと思っています。
【ベテランD】 そろそろ話をまとめましょうか。 データ分析の世界観としては「予測」と「現状把握」の両輪があり、特に最終的にやりたいことが「予測」の場合でも課題整理や前処理のために「現状把握」も行う必要がある。「データマイニング」と陽に言わなくなったけれども、前処理、可視化や探索的データ解析などの「現状把握」としてデータマイニング的な分析は今でも行われている、ということで締めくくりましょう。
おわりに
弊社NTTデータ数理システムでは、長年培ってきた数理科学の技術を基に、お客様のご要望に合わせた受託開発を承っております。「データはあるから何となく何かをやりたい…」というきっかけでも大丈夫です。本記事に登場したような技術スタッフが一緒に課題整理を行いながら、ご要望に合わせて課題解決をサポートします!ぜひお気軽にお問い合わせ、ご相談いただけると幸いです。
また、当社のデータマイニング部では「予測」と「現状把握」の両方をノーコードで実行できるデータ分析プラットフォーム「Alkano」を開発しています。定期的に製品について紹介するオンラインウェビナーを無料開催しておりますので、気になった方はぜひご参加いただけると幸いです。
▼セミナー情報はこちら
Alkano の紹介セミナー
http://www.msi.co.jp NTTデータ数理システムができること