OKIYUKI99 Blog

データ分析や日常に関するブログ

「人工知能システムのプロジェクトがわかる本」を読んだ

この本を読んだ目的

  • ML Engineerとして機械学習システムを構築する際に、必要な要件をもれなく把握しておくのに適していそうな本を見つけたため
  • 著者はNECで30以上システム導入経験があり、ノウハウが溜まった知識をすぐに知れそうだと思ったため

書評

タイトルのとおり、人工知能を積んだシステムを提供するときに考えておくべき項目がまとめられていた。 全体的に理解できている内容も多かったので、再確認することが多かったため、さくっと読めました。また、システムの運用の話まで入ってる本は珍しいので、とても参考になりました。

備忘メモ+感想

1章 実用化されつつある人工知能

分析の基本的な話

2章 通常のシステムと人工知能システムの開発プロセスの違い

1.企画フェーズのあとにトライアルフェーズがあること

2.開発フェーズの内の要件定義時や納品前にデータ分析を行うこと

3.運用フェーズにおいて人工知能システム特有の運用・保守(人工知能のモニタリングやメンテナンス)を行うこと

特に3がよくある負債の話。

3章 人工知能システムの企画

人工知能システムの運用・保守の代表的な作業

再学習

予測結果や精度の確認

新対象の追加

人工知能の挙動に対する問い合わせ応答

特に、よく聞かれる問い合わせとかは先にまとめておいたほうが良いと感じますね。本の例にもあった、人間の直感と反する場合の結果がでたときや、急に精度が悪くなった時の理由説明をスピードよく提供するとかですね。

4章 人工知能プロジェクトのトライアル

時間集計粒度 = 時間分解能

という言い方は知らなかった

回帰問題での評価指標

平均誤差

平均誤差率

最大誤差値

一定値以上の誤差値の割合

上振れ誤差率

下振れ誤差率

研究とかだと、RMSEが一般的だったりするが、データマイニングのように問題にあった評価指標を選定する感じがあって良いですね

5章 人工知能システムの開発

データ量の決定(例:どれくらい過去のデータを使うか)

モデルの更新方法の決定(例:バッチかオンラインか)

学習データが少ないときの対応(例:抽象度が高いデータを使う)

異常値処理方法の決定

よくある話でした

6章 人工知能システムの運用・保守

精度の日々の確認

人の知見・直感に合わない結果に対する原因

 学習データに要因となる特徴が入ってない

 運用時のデータの傾向が大きく変わっている

 過学習してる

 レアケースすぎて学習できてない

 結果がワンパターンすぎる

レアケースすぎて学習できてないとか結構あるんだよな…