FJCT Tech blog

富士通クラウドテクノロジーズ公式エンジニアブログです

富士通クラウドテクノロジーズ

FJCT/Tech blog

必要なデータの量は?90%の精度を出すためには?データサイエンスあるあるQ&A

今日は、アドベントカレンダー8日目

必要なデータの量は?90%の精度を出すためには?データサイエンスあるあるQ&A」です。

FJCTのデータサイエンス事業をやっている吉田です。

 

7日目(12/7)は、「クラウドストレージからオブジェクトストレージに移行した話」でした。
いわゆる数GB-TB単位のデータを扱う際我々にとっては、オブスト(オブジェクトストレージ)は必須です。
モデルや画像などの純粋に巨大なバイナリデータは、gitでは管理しづらいためです。(git LFSとかはありますが)

自分の過去の遺産も移行せねば。


さて、FJCTでは、クラウド事業の他に、データサイエンス事業をやっています。
需要予測画像認識故障予知レコメンドetc...直接取引させて頂いたり、富士通本体の大きな商流を使ったり、おかげさまでさまざまな規模のデータ活用プロジェクトを推進させて頂いています。

今回はそんな数々のデータサイエンスプロジェクトを回している際の、
お客さんのよくある質問と私の回答をまとめてみました。

アジェンダ
1.どれだけデータを集めればAI活用できるの?大体でもいいから教えて!
2.前処理が工程の8~9割なんて言われるけれど、なにがそんなにかかるのか?
3.90%くらいの精度を出すためには?

(*業界・データによって回答は大きく異なることがあります!ご了承ください)


 

過去にも「データ活用プロジェクト」の記事やポイントをまとめている記事に出ているので、こちらもあわせてご覧ください!

ライオン様と口臭判定アルゴリズムを作った話。

「口臭リスクをスマートフォン見える化!」
https://japan.cnet.com/extra/fjct_201808/35123825/

 

ainowさんでのインタビュー。

ビジネス・技術の両面での躓きポイントを解説しています。
「データ・AI活用のつまづきポイント」
http://ainow.ai/2018/12/03/156285/

 


1.「どれだけデータを集めればAI活用できるの?大体でもいいから教えて!」

エンジニア的に答えると「データによりけりなので、答えられない」になってしまうのですが、ある程度の考え方はあります。


AI活用のためのデータ資源の考え方には、「オーギュメンテーション可能性」があると考えています。
これらの要素について、要件を満たしたものが活用できるデータとなります。

 

「量」とは、たとえば、X人、X日、X枚のような取得するデータの数を指します。

たとえば、小売店の需要予測をするのであれば、最低2年分のデータが必要になります。
なぜなら、一年を通した季節性(周期性)が学習に大切となるからです。
たとえばこの年末であればおせち需要で、黒豆が良く売れたり・・・。
この季節性を学習するための一年分、学習済みモデルを検証するための一年分で計2年以上はほしいと考える訳です。
このように、パターンによっては最低いくつはほしいと決まっているものもあります。

 

「質」とは、データの中身が活用に耐えうるものかということです。
Excelで見るような表データであれば、セルが欠けていたり住所の表記がゆれているケースが問題となります。
画像データであれば、ボケていたり霞んでいるケースが問題となります。
このようなケースでは「前処理」による補正が必要なデータとなり、AI活用のために避けて通れない作業となります。
これらは、基幹データベースのリプレースを経たデータやコンシューマーによる入力データに多く見られます。
他にも、たとえばアンケートで1~5と回答するところを、4と回答した人が全体の80%で、2と回答した人が3%だとするとデータに偏りが生じた状態となり、2と回答する人がどんな人かをほとんど分析できないことに繋がります。

 

「オーギュメンテーション可能性」とは、そのデータを何パターンに水増しできるかです。
たとえば、1枚の画像があるとします。
これを反転したり、一部を切り取ることで1枚の画像から複数枚の画像ができるわけです。
ほかにも一部の時系列データなどで有効な手段となっています。
純粋にデータが2倍、3倍となるので強力な手段なのですが、元々同じような画像ばかりであるケースなどでは特に注意が必要で、やり過ぎるとモデルの精度が落ちてしまう問題もあります。

 

他にもいろいろありますが、個人的には大体この3つを軸にできる・できないを判断することが多いです。



2.「前処理が工程の8~9割なんて言われるけれど、なにがそんなにかかるのか?」


*前処理というのは、さまざまなデータベースに散らばっているデータを収集統合調整し、AIが読める形に直すことです。


データの「質」の部分では「欠損・表記ゆれ」にも触れていますが、本質的に時間を食うのはこれらのデータ修正にかかるコミュニケーションです。
なぜ欠損したのか?この専門用語の意味はなんだろうか?他にこんなデータはないだろうか?・・・等々多くのコミュニケーションが日々行き交います。
データ活用の行き着く先が業務を改善することである以上、AIベンダーorAIチームが業務を知り、企業がデータ活用について知る工数が必要となります。
データを正しく処理するためには、これらの知識を双方が認識することが必須となります。このため、連絡を気軽に・蜜にやり取りできる環境が整っているプロジェクトの進みは格段に早くなります。


3.「90%くらいの精度を出すためには?」


どれくらい高度なものなのかAIに期待を寄せながら質問してくださる方が多いです。
正直なところ、(学習に使っていないデータで)いきなり90%の正答率を出すことは非常に難しいです。
この理由には、データの限界の要素が関わっています。

「データの限界」とは、データの取り方が一定でなかったり、同じデータから違う結果がでたりすることで、そのデータから導き出せる予測に限度があることです。
たとえば、アンケートでの5段階評価などは個人ごとに評価基準が異なるので、同じ条件でも違う結果が出てきたりします。

他にも、今あるデータ以外の要素が結果に影響を及ぼしていると、精度が上がらない原因となります。
その日の天気・その人の気分・その部屋の気温、等々外部のデータを拾う必要があるケースもあります。
また、業務ヒアリングを進めると他部署の方が重要なデータを握っているパターンもあります。

これらの問題から、理論的に不可能なケースと、十分なデータ取得に時間・コミュニケーションが必要なケースが多いです。

 

このため、ビジネス的な視点では、90%の精度を持って初めて製品を出すということはあまりなく、データ収集・調整・予測を繰り返す実験的なPoCを実施し、90%はあくまで理想的な目標として、運用しながら目指していくことが一般的です。
また、こうして運用していくと、本来のKPIに即した精度というのが明らかになっていきます。
運営の中では、例えば全体的に正答率が90%なくても、特定のケースで正答率が良ければ満足度が高いといったようなことが分かってきます。
このように、「ベストな精度の定義」は、「用意できるデータにかけられるコスト」x「ビジネスのゴール」によって変わっていき、必要で達成可能な部分に向かって精度を上げていくというのが基本的な考え方です。


いかがでしたでしょうか。
色々書き連ねましたが、データ活用プロジェクトは不確実性の塊であり、「やってみないとわからない」部分があるからこそ、大体でもいいから勘をつかみたいというニーズが強まるのだと考えています。
ある程度の型としての考え方はこの記事を含め様々なサイトに乗っていますので、是非調べてみてください!
そして、一度トライしていただきたいと考えています。

さまざまな企業様を見ていますが、AI導入を検討することの本質は、会社の業務フローを刷新する機会なのだと考えています。
なぜなら、検討やPoCを通して会社の業務フローやデータを洗い出すことは、本質として会社としての戦略の現在の状況を可視化し、将来について考えるための作業となるからです。

FJCTのようなAIベンダーと一緒でもいいですし、是非一度チャレンジしてみてください!

 

明日、9日目(12/9)は、@khamanakaさんによる ”エンジニアリングマネージャーとして1 on 1で使ってきた「好き/嫌い/得意/苦手のマトリクス分析」”です。
当社敏腕マネージャーの分析手法、すごい気になります。