機械学習で入ってはいけないデータが混入する「リーケージ」とその対策:もう失敗しない!製造業向け機械学習Tips(1)(2/2 ページ)
製造業が機械学習で間違いやすいポイントと、その回避の仕方、データ解釈の方法のコツなどについて、広く知見を共有することを目指す本連載。第1回では「リーケージ」について取り上げる。
バリデーションスキームによりモデルの精度を検証する
予測モデルは、必ずバリデーション(Validation)により精度を検証します。pythonのライブラリscikit-learnにはStratifiedKFold(層状K分割)などの仕組みが用意されており、データを分割して学習と検証に使うことができます。
バリデーションのパターンの一つが交差検定です(図1)。例えば、データを5分割して4分割分でモデルを生成し、残りの1分割でバリデーションを行います。バリデーションに使うデータをずらしていくことで、モデルの精度を検証できます。
しかし、このバリデーションスキームを安易に製造業に適用してしまうと、問題が発生する場合があります。その原因は、製造ロット特性と意図的なデータ収集です。詳しく見ていきましょう。
1つ目は、製造ロットによる品質の偏りです。例えば、同一ロット内では原料ロットや装置の日間差が少なく、品質が似かよる傾向があります。しかし、このデータ上の特性を考慮せずにランダムに分割して学習とバリデーションを行ってしまうと、ロットの癖を知った上での予測モデルが出来上がってしまいます。
この場合、机上ではモデルの精度は高くなりますが、実際の現場では異なるロットでの製造が行われますから、期待していたような予測精度が得られないということがあります。この問題を避けるためには、GroupKFold(グループ付き交差検証)という仕組みを使って、同じロットのデータが学習と検証に混じらないように設計する必要があります(図2)。
2つ目は、意図的なデータの生成です。製造業では研究開発の場で機械学習が使われることが多いですが、例えば、研究員が材料の配合を検討する場合、ランダムに材料を配合するわけではありません。複数の添加剤があったとき、今日は添加剤Aの配合量のみを変えて他の材料は同一にしてテストすることで添加剤Aの適正配合量を検証しよう、といったやり方で意図的にデータを収集します。
この研究用データを学習データとして性能予測モデルを生成すると、配合のパターンが決まっているので、性能を予測しやすくなってしまいます。意図があって収集されたデータであれば、それを踏まえたバリデーションスキームを組む必要があります。
ロット、バッチ、実験など、データがその生成プロセスに起因する特殊な内部構造を持つ場合にそれを考慮せずにモデルを生成してしまうというリーケージは、製造業で高い確率で発生しています。
この他のよくある失敗例としては、時系列データを同様にランダムに分割して学習とバリデーションを行ってしまうケースがあります。この場合は、時間で学習とバリデーションを分割する必要があり、これを怠ると未来のトレンドを知っていることを前提としたモデルができてしまい、やはりリーケージとなってしまいます。
いずれにせよ、モデルの検定では、実務に携わる人自身も参加できるようなスキームを用意するとよいでしょう。モデリングに使うデータの内容、生成プロセスの理解に加え、実務についてもよく知っている人の感覚は、モデルと現実との乖離を発見するのにとても重要です。学習とバリデーションのデータが、実務の予測と同じプロセスで生成されており、両者が相似な関係であることを意識して、データを活用しましょう。
リーケージを防ぐためのポイント
説明してみるとミスの内容は単純ですが、リーケージは多くの現場で発生しています。そして、リーケージによるモデルの不具合に気が付かないまま予測が行われている例は少なくありません。
リーケージを防ぐ万全の対策はありませんが、ドメイン知識と照らし合わせて、モデルの精度が高すぎる場合は、「予測には使えないデータを使っていないか」「バリデーションが正しくできているか」を疑ってみるといいでしょう。
次回は「機械学習を用いた業務の最適化」について解説します。
筆者プロフィール
山本 祐也(やまもと ゆうや) DataRobot データサイエンティスト
DataRobot入社前は雪印メグミルクで約3年間、有限要素法と機械学習による計算設計を用いた乳製品の包装材料の開発に携わる。またその前は富士フイルムで約5年間、位相差フィルム、ミラーフィルム、光学的に透明な接着フィルム、透明導電フィルムなど、タッチパネルに関連する機能性フィルムの開発に従事。2010年に東京大学で物質科学分野の博士号を取得。Kaggleでのランキング上位入賞経験多数。
https://www.datarobot.com/jp/
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- ≫連載「もう失敗しない!製造業向け機械学習Tips」バックナンバー
- AIと機械学習とディープラーニングは何が違うのか
技術開発の進展により加速度的に進化しているAI(人工知能)。このAIという言葉とともに語られているのが、機械学習やディープラーニングだ。AIと機械学習、そしてディープラーニングの違いとは何なのか。 - 機械学習はどうやって使うのか――意外と地道な積み重ね
前編では、AI(人工知能)と機械学習、ディープラーニングといった用語の説明から、AIを実現する技術の1つである機械学習が製造業を中心とした産業界にも徐々に使われ始めている話をした。後編では、機械学習を使ったデータ分析と予測モデル作成について説明する。 - 「AIの民主化」掲げる米国ベンチャーが日本進出、機械学習の結果も説明可能に
米国のAIベンチャー・データロボットが、「AIの民主化」を掲げ、日本市場での事業展開を本格化する。既に東京オフィスを開設しており、2017年度末までにデータサイエンティストを中心に人員を10人以上に増員する計画だ。 - パナソニックが目指すAI活用の方向性とは「AIも半導体設計も同じことが起こる」
機械学習自動化プラットフォームを展開するデータロボットが開催した「DataRobot×パナソニック トークセッション〜日本の製造業におけるAI利活用の最前線〜」で、パナソニック ビジネスイノベーション本部 AIソリューションセンター 戦略企画部 部長の井上昭彦氏が登壇。同社におけるAI技術普及の取り組みなどについて語った。 - AIの価値を生む市民データサイエンティストを育成、DataRobotが新サービス
機械学習自動化プラットフォームを展開するDataRobotの日本法人・DataRobot Japanは、東京都内で会見を開き、2017年から本格化させて国内展開の状況を紹介するとともに、新たな商品パッケージ「AI-Driven Enterprise Package」について説明。事業部門がAIを活用する上で重要な役割を果たす「市民データサイエンティスト」を育成するという。