「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
用語 †
データ †
個体の集合
個体 †
全観測変数の観測値によるベクトル
観測変数 †
- 観測されている項目(属性)の名前
- 観測変数=説明変数+目的変数
観測値 †
観測変数の実際の値
潜在変数 †
観測されていないが存在する項目
基本要素 †
確率推論の基本要素
データ †
アルゴリズム †
- モデルを作成するアルゴリズム
モデルを最適化する方法=パラメタ推定
- アルゴリズムはモデルに含まれることがある。
分離した方が系統的にモデリングを理解できる。
- パラメタ推定
- 最尤推定:パラメタの最適な値を求める方法(最尤)、最小二乗法
- ベイズ推定:パラメタの最適な分布を求める方法(事後分布)、....
モデル †
- 学習の方法
- 目的変数が観測変数
教師あり学習
- 目的変数が潜在変数
教師なし学習
予測・診断・最適化 †
確率推論の予測・診断・最適化
予測 †
主に社会的データを用いて、
- 価値に関する予測に関する問題を対象に考える。
- 価値に関する観測変数と予測値の間の構造のモデル化と推論
知る †
- 予測:根拠や基準(現象のモデル化)を基にした推量・推定
- 現象が起こる可能性、要因の影響度が計算できる事が重要
- 外れ方(不確実性、誤差)も推定する必要がある。
- 観測と予測
データに基づいて未観測の現象を予測
- 観測:逆問題(観測データから背景のメカニズムを知る、現象のモデル化
- 予測:順問題(モデルを使用して推論(確率モデルが重要な役割を果たす
確率モデル †
- 確率モデル
不確実な現象を(、非線形な連続関数ではなく)、確率分布として表現する。
- 現象モデル
- 現象の背後に想定されるモデル。
- 以下の2つに分類される。
・生成モデル:結果データを生成するモデル
・認識モデル:結果を予想するモデル
アルゴリズム †
現象のモデル化と推論の仕組み。
- データから確率モデルを構築する学習アルゴリズム
- 確率モデルを用いた予測を行う推論アルゴリズム
問題と事例 †
- 需要予測
- リスク予測
- 異常検出
- サービス価値の予測
診断 †
判断 †
- 予測のもとである時点での状態やリスクを判断。
- 病気の診断
- 機械の診断(故障、現在状態)
- 顧客の診断(購入意欲・ロイヤリティ)
問題設定の類型化 †
- 状態推定・把握の問題
知りたい状態をモデル化して診断
- 状態把握の問題
・状態が解っていない場合(データから状態を把握
・クラスタリング:潜在クラスモデルなど
- 異常状態の発見問題
・いつもの状態と違うことを診断
(通常の状態から異常の状態を発見
・外れ値検出 / 異常値検知 / 変化点検知 / 予兆検知
- 問題設定
- 観測変数X1...Xnから観測変数Yを推定
- 推定に用いる関数
f(Y|X1...Xn)
- 推定方法
- 観測値から最大になる推定値を選択
- 観測値と推定値の誤差が最小になるように関数fを学習
- モデル化
推定に用いる関数をどうやってモデル化するか?
- 問題設定
- 知りたいことはあるが、データにその直接的校も後がない。
- 例えば、購入履歴の情報は在るが、購入意欲はデータに無い。
- 把握方法
- クラスタリングと呼ばれる
- 「データ」内で似た「個体」を集めその軸を分析
- データ(観測変数X1...Xn)から潜在変数(潜在クラス)Yを推定(分類)
- 潜在変数モデル
観測された変数を潜在変数の観点から説明することを目的とした数理モデル
・データの個体が確率分布により生じている(確率モデル)。
・複数の確率分布により生じた個体が混ざっている(潜在変数モデル)。
- 潜在クラスモデル
調査された個体は、いずれかの潜在クラスに属すると考えるモデル
- モデルの例
・混合正規分布
・観測データが実数値の時
・確率分布は正規分布
・1・2次元の場合は見れば解るが、
高次元の場合は見て解らないので学習により解決する。
・トピックモデル
観測データが離散の時
・PLSA
・LDA
- 問題設定
(データのクラスタリングではなく)通常とは違う状態を探す。
- 推定方法
- データ(観測変数X1...Xn)から通常の状態を求める。
- 通常の状態から外れる個体を探す()。
- 外れ値検出 / 異常値検知
・平均値からの差による検知
・トレンドを考慮した拡張
- 変化点検知 / 予兆検知
異常が続く≒データの生成構造の変化。
・変化点検知:変化の時点を検知
・予兆検知:変化の開始時点を検知
必要なデータ †
- ある程度の大きさが必要
- IDでのデータ管理が必要(データ連結のため)
- 状態推定・状態把握の問題
- 推定したい状態はデータ項目中に含まれるか?
- データ項目の値は信頼できる値か?
- 推定したい状態時点でのデータが必要
- 異常状態の発見問題
- センサーなどの時系列データ
- データの抜けと時間分解能
- 異常状態を説明できるデータとの連結
- データ欠損
テストケースとしてデータを取得し補う。
設計時の諸問題 †
- データを誰が入力するか?
- 診断には継続的な入力が必要。
- 継続的なデータ収集の仕組みが必要。
- 異常値検知などではデータ量が多くなる傾向
- どの程度の頻度で診断するか?
診断の頻度≒データ入力・更新の頻度
- どの程度の頻度でモデルを更新するか?
- 時間とともに陳腐化する場合
- 使用可能なデータ項目が増える場合
最適化 †
数理モデルの最適化ではなく確率モデルの一つの技法(予測・診断・最適化
実行 †
予測のもとで現象を特定の目的に近づけるための操作を実行すること。
種類 †
- データの最適化
前処理
- 項目の選択(特徴量選択)
- 項目の加工(次元圧縮など)
- 欠損項目値の補完
- スケールを合わせる
- 目的変数の最適化
- パラメタの最適化後に行う。
- 目的変数(出力)が最大(最小)になる説明変数(入力)を検索
- 予測問題ではなく、目的変数(出力)の最大(最小)化の問題
- モデル構造が複雑になると過学習が起き易い。
- 目的関数が学習データに過剰にフィット(過学習)
- 評価関数として情報量基準などがある。
- 目的関数≠評価関数
・目的関数:パラメタ最適化で基準となる関数
・評価関数:最適化されたモデルを評価する関数
- モデル構造
・DNNにおける層の数
・ネットワークモデルの形状
・HMMの隠れ状態数
問題 †
実際 †
社会現象、社会データ †
Society 5.0 †
サイバーフィジカルシステム †
- 経済発展と社会的課題解決を両立する
- 人間中心社会、超スマート社会
- 現実世界 -> デジタル化 -> 計算モデル化 -> 意思決定 -> 現実世界
- 機械学習+組織学習
現象学的アプローチ †
データの特性と計算モデル †
データ特性 †
- 異質性、状況依存性
- Webサービス(RDB) -> IoTアプリ(NoSQL)
- 時空間解像度が高い
- 条件付き確率
条件付き確率による購買行動モデルの例
- P(購買|女性) > P(購買|男性)
- P(購買|女性, 週末) > P(購買|女性, 平日)
- 混合分布、相互作用
- 混合分布:属性の異なる人々
- 非正規性:≠正規分布(代表値の使い分け)
- 非線形相互作用:ベイジアンネットワークで計算
計算モデル †
- 母集団依存性の高い従来型の統計から、
再利用性の高い確率的構造モデルを用いた知識へ。
- 予測モデル:ある変数を説明するルール
- 確率的知識:変数群の依存関係の条件付き確率
- 計算モデル:因果的構造のネットワーク
学習と推論 †
社会データ向けのAI技術
不確実性は低いが高次元の大量データ †
深層学習(教師あり学習
不確実性が高く混合分布となっている場合 †
どう言う場合に、どう言う現象が起きるか?
- 場合
確率的なクラスタリング(確率的潜在意味解析(PLSA))
- 現象
属性カテゴリからある顧客クラスタと商品クラスタ(食材)の
組み合わせ時の現象(商品の用途)をクラス毎に分類して分析する。
変数間の相互作用・依存関係がある場合 †
ベイジアンネットワーク
- PLSAのクラス毎にベイジアンネットワークの一部を拡大して分析するなど。
- 外れ方の構造をベイジアンネットワークのモデルにするなど。