Skip to content

MS_AzureMachineLearningAlgorithms

nishi_74322014 edited this page Sep 1, 2026 · 1 revision

Azure Machine Learningのアルゴリズム・モデル

概要

アルゴリズムの選択と、モデルの評価
解釈・説明について。

詳細

アルゴリズム

機械学習アルゴリズム チート シート(2021)の情報から。

補足(デザイナーのコンポーネント一覧): 以下に挙がっているのは、
Azure Machine Learning
デザイナー(GUI でパイプラインを組む機能)で選べるコンポーネントである。
Python でコードを書く場合は scikit-learn / PyTorch などを直接使うため、
この一覧に縛られない。
「どの種類の問題にどのアルゴリズムを当てるか」の見取り図として読むとよい。

回帰

2クラス分類

移行メモ(文字化け・脱字): 元ページには、
(U+2F9E)・(U+2FA7)・(U+2F24)・(U+2F09)・(U+2F5D)といった
康熙部首ブロックの文字が混入していた( の誤り)。
見た目は似ているが別の文字で検索に掛からないため、通常の漢字に修正した。
また「メモリフットプリ」の脱字も補った。

マルチクラス分類

クラスタリング

異常検出

移行メモ(URL の欠落): 「1 クラス サポート ベクター マシン」の URL が
元ページでは「...」のままだったため、
他の項目と同じ規則(component-reference/one-class-support-vector-machine)で補った。

レコメンダー

テキスト分析

画像分類

選択のフローチャート

最適な機械学習アルゴリズムの選択は

  • データの性質と、
  • データで達成したい目標

の両方によって決定される。

データの特徴や構造を捉えたい。

クラスタリングを選択する。

(予測)分類したい。

  • 2値分類

    • 正例が少ないケース:異常検出のアルゴリズム・モデルを理論別の分類で選定

    • 通常のケース:2クラス分類のアルゴリズム・モデルを理論別の分類で選定

  • 3値以上の分類:マルチクラス分類のアルゴリズム・モデルを理論別の分類で選定

補足(「正例が少ないケース」の判断): 不正検知や設備故障のように
正例が全体の数 % 以下しかない場合、2 クラス分類で学習すると
「常に負例と答える」モデルでも正解率が高くなってしまう。
このため異常検出(1 クラス学習)に切り替える、というのが本項の趣旨である。
2 クラス分類のまま扱う場合は、正解率ではなく
適合率・再現率で評価する必要がある。

(予測)回帰したい。

回帰のアルゴリズム・モデルを理論別の分類で選定

(予測)時系列予測したい。

RNN、LSTM など(DNET_NeuralNetwork.md

(その他)レコメンドしたい。

レコメンダー

(その他)テキストから情報抽出したい。

テキスト分析

(その他)画像を分類したい。

画像分類

モデルの評価

分類メトリック

  • 混同行列
  • ROC 曲線
  • 適合率 - 再現率曲線
  • 累積ゲイン曲線
  • リフト曲線
  • 較正曲線

回帰/予測メトリック

  • 残差
  • 予測と True

イメージ モデルのメトリック (プレビュー)

移行メモ(未記述): 元ページは本節が「...」のみで書かれていなかった。
画像モデルでは、分類なら上記の分類メトリック、
物体検出・インスタンス セグメンテーションなら
**mAP(mean Average Precision)**や
**IoU(Intersection over Union)**が使われる。
著者による本文が加筆された場合は置き換えること。

モデルの説明と特徴の重要度

信頼できる AI を実現するには、

「モデルがその予測にデータセットのどの特徴を使用したか」

を調査することが重要。

モデル解釈・説明を参照)

モデル解釈・説明

解釈性・説明性

  • 解釈性

    • モデルの改善方法を知りたい
    • ステークホルダーへモデル自体を説明
  • 説明性

    • 説明可能な AI(DNET_AIProjectManagement.md
    • ユーザへモデルの出力した結果の根拠を説明したいケース

大域的・局所的

  • 大域的
    学習したデータセット全体を使ってモデルを説明する。

  • 局所的
    1つのデータを使った予測結果でモデルを説明する。

モデル毎の説明手法

  • 解釈可能なモデル(Glass Box AI Model)

    • 主に統計的機械学習のモデル(DNET_MachineLearning.md

      • シンプルな「統計モデル」
      • 階層的な木構造の確率的な「生成モデル」
    • 数理最適化(DNET_MachineLearning.md)も、簡単な関数の近似なら解釈可能か。

  • ブラック・ボックスなモデル(Black Box AI Model)

    • 深層学習で使用される DNN(Deep Neural Network)(DNET_NeuralNetwork.md
    • 複数の決定木を使用するモデル(ランダムフォレスト・勾配ブースティング木)(DNET_MachineLearning.md
  • トレードオフ
    一般的に、精度と解釈性・説明性はトレードオフ関係にある。

    • 解釈可能なモデルを採用するなら、精度を上げる。
    • ブラック・ボックスなモデルを採用するなら、解釈性・説明性を上げる。
  • 参考:機械学習(machine learning) - 開発基盤部会 Wiki > 詳細 > 理論(DNET_MachineLearning.md

ライブラリ・フレームワーク

InterpretML と言う、機械学習の解釈を説明可能
とするための python ライブラリ・フレームワーク

  • 「高精度」を実現した「解釈可能なモデル」
    Explainable Boosting Machine(EBM)

    • scikit-learn(DNET_ScikitLearn.md)準拠(Estimator というインターフェイスが基本)

    • 大域的な解釈

      • 「教師データの密度」と「説明変数のスコア(結果を上げた度合い)」などで説明ができる。
      • また、交互作用法で複数の説明変数のスコア(結果への影響度合い)で説明ができる。
    • 局所的な解釈

      • 予測が正解となる確率を上げた変数と、その度合い。
      • 予測が正解となる確率を下げた変数と、その度合い。
  • 「ブラック・ボックスなモデル」の局所的な説明を行う。

    • ある入力 x に対しモデルが出力 y とした時、予測の根拠を説明として提示する。

    • 入力・出力のみに依存するため、あらゆるモデルに対応する。

    • また、モデルの誤差分析も可能(誤差の大きいコーホートを特定)

      • 決定木で見る
      • ヒートマップで見る
    • ライブラリ

      • SHAP
      • LIME
      • , etc.

※ コーホート:ココでは、データの集団の意味。

補足(SHAP と LIME の違い): どちらも
「入力を少しずつ変えて出力の変化を見る」ことでブラック ボックスを説明する手法だが、

  • LIME … 説明したい 1 点の周りだけを線形モデルで近似する(速いが不安定)
  • SHAP … 協力ゲーム理論の Shapley 値に基づき、
    各特徴の寄与を一貫性のある形で配分する(理論的な裏付けがあるが重い)

という違いがある。
Azure Machine Learning の解釈可能性機能も、内部では SHAP を利用している。

参考

YouTube

Microsoft Docs

機械学習アルゴリズムのドキュメント

機械学習モデルのドキュメント

本 Wiki 内


Tags: クラウド, BI/AI, Azure

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally