2025年9月6日土曜日

確率質量関数(PMF)と期待値の関係|サイコロとコイントスで直感的に理解

確率質量関数(PMF)と期待値の関係|サイコロとコイントスで直感的に理解

確率質量関数(PMF)と期待値の関係|サイコロとコイントスで直感的に理解

確率質量関数(PMF)は離散確率変数が各値をとる確率を与える関数です。本稿ではPMFを使って期待値をどのように計算するかを、サイコロとコイントスの例で整理し、ベルヌーイ/二項分布やエントロピーとの関係まで簡潔に補足します。

保管版HTML(元記事:note) / 最終更新: 2025-09-06


補足①:定義の再確認(PMFと期待値)

離散確率変数 \(X\) のPMFを \(p(x)=P(X=x)\) とすると、期待値は

\[ E[X]=\sum_{x} x\,p(x) \]

となります。サイコロでは \(p(1)=\cdots=p(6)=1/6\) なので

\[ E[X]=\frac{1+2+3+4+5+6}{6}=3.5 \]

—「平均的に得られる値」を表します(実際に出る値とは限りません)。

補足②:ベルヌーイ分布の期待値と分散(式の最短導出)

コイントスのように \(X\in\{0,1\}\)、成功確率 \(p\) のとき

\[ E[X]=p, \quad \mathrm{Var}(X)=p(1-p) \]

はPMFから1行で導けます(\(E[X]=0\cdot(1-p)+1\cdot p\))。検索意図に合う公式明示で到達性を高めます。

補足③:二項分布への一般化(頻出QA対策)

独立なベルヌーイ試行を \(n\) 回:

\[ E[X]=np, \quad \mathrm{Var}(X)=np(1-p) \]

「コイントスを何回も」は実用的な問い合わせが多く、最短で応答できるよう公式を記載しておきます。

補足④:PMF・PDF・CDFの違い(1分要約)

  • PMF:離散。棒グラフの高さ=確率
  • PDF:連続。曲線の面積=確率(高さそのものは確率ではない)。
  • CDF:閾値以下である確率の累積

検索で混同されやすい用語の「即答」を本文内に用意しておくと流入の取りこぼしを減らせます。

補足⑤:エントロピーとの関係(2値のとき)

二値の不確実性は

\[ H(p)=-p\log_2 p-(1-p)\log_2(1-p) \]

で最大は \(p=0.5\)。本文の話題(シャノン)を式で補強して内部一貫性を高めます。

補足⑥:Python最小コード(張り替え可)

# PMFから期待値を出す最小例(サイコロ)
xs  = [1,2,3,4,5,6]
pmf = [1/6]*6
E = sum(x*p for x,p in zip(xs, pmf))
print("期待値:", E)  # 3.5

# ベルヌーイと二項(導出確認)
p, n = 0.3, 10
E_ber, Var_ber = p, p*(1-p)
E_bin, Var_bin = n*p, n*p*(1-p)
print(E_ber, Var_ber, E_bin, Var_bin)

補足⑦:よくある質問(FAQ)

Q. 期待値は実際に出る値ですか?
A. 平均的傾向を表す量で、必ず観測される値ではありません(サイコロの3.5など)。
Q. 偏りコインの期待値は?
A. 成功確率 \(p\) です(成功=1, 失敗=0 と定義した場合)。
Q. PMFとPDFの違いは?
A. 離散か連続かで解釈が異なります。PMFは高さが確率、PDFは面積が確率です。

メタ情報とタグ

ディスクリプション:確率質量関数(PMF)から期待値をどう計算するかを、サイコロとコイントスで直感的に解説。ベルヌーイ/二項、PMF・PDF・CDFの違い、エントロピーも簡潔に補足。

推奨タグ:#確率 #統計 #期待値 #確率質量関数 #ベルヌーイ #二項分布 #エントロピー


© 2025 Minoru Oka(保管用HTML)。本ページは元記事の構成を尊重し、最小限の補足を加えています。

🧙‍♂️補完ページ|アキネーターの仕組みと決定木(ジニ不純度・情報利得の可視化)

補完ページ|アキネーターの仕組みと決定木(ジニ不純度・情報利得の可視化)

補完ページ|アキネーターの仕組みと決定木

note本編: 『アキネーターの仕組みと決定木アルゴリズム』へ

このページは学術・教育目的の補助資料です。Akinator™はELOKENCE社の登録商標であり、本ページは非公式・非営利の解説です。

このページでできること

  • ジニ不純度 $G=1-\sum_k p_k^2$ とエントロピー $H=-\sum_k p_k\log_2 p_k$ の式と意味を確認
  • 分割後の加重ジニ・情報利得のインタラクティブ計算
  • 小さなデータで最良の質問(はい/いいえ)を自動提案するミニデモ
  • 擬似コードをJavaScriptの最小実装で確認

数式リファレンス(表示はMathJax)

ジニ不純度

クラス確率 $p_k$ の集合に対して:

$$ G = 1 - \sum_{k=1}^{K} p_k^2 $$

$G=0$ は完全純粋(1クラスのみ)、最大は多クラスが均等なとき。

情報利得(エントロピー基準)

親ノードのエントロピー $H(\text{parent})$ と、分割後の加重エントロピー $\sum_i w_i H(\text{child}_i)$ の差:

$$ IG = H(\text{parent}) - \sum_i w_i H(\text{child}_i),\quad H=-\sum_k p_k\log_2 p_k $$

ジニ/情報利得 計算ツール

2クラス想定(拡張可)。左右の子ノードの件数を入力すると、親分布→ジニ/エントロピー→加重平均→利得を計算します。

左ノード


右ノード


結果

指標

例は本編の説明(アニメ/非アニメ)に合わせた初期値。利得が大きいほど良い質問です。

最良質問サジェスタ(ミニ・アキネーター)

下の小データ(6キャラ×属性)から、はい/いいえで最も分割効果(ジニ減少)が高い質問を提示します。回答するとフィルタされ、次の最良質問を更新します。

名前アニメ?人間?魔法?20世紀登場?

※データは教育目的のフィクション/一般概念です。

擬似コード → JavaScript(最小実装)

最小ループ
// yes/no三値(yes/no/unknown)対応の最小実装
function bestQuestion(rows, attrs){
  // 各属性でジニ減少(親G - 加重子G)を評価
  const parentG = gini(rows.map(r=>r.cls));
  let best = {attr:null, gain:-Infinity, split:null};
  for(const a of attrs){
    const left = rows.filter(r=>r[a]===true);
    const right = rows.filter(r=>r[a]===false);
    if(left.length===0 || right.length===0) continue; // 無効な分割
    const wL = left.length/rows.length, wR = right.length/rows.length;
    const gL = gini(left.map(r=>r.cls));
    const gR = gini(right.map(r=>r.cls));
    const gain = parentG - (wL*gL + wR*gR);
    if(gain > best.gain) best = {attr:a, gain, split:{left,right}};
  }
  return best;
}
ジニ/エントロピー関数
function gini(classes){
  const n = classes.length; const counts = {};
  for(const c of classes) counts[c] = (counts[c]||0) + 1;
  let sumSq = 0; for(const k in counts){ const p = counts[k]/n; sumSq += p*p; }
  return 1 - sumSq;
}
function entropy(classes){
  const n = classes.length; const counts = {};
  for(const c of classes) counts[c] = (counts[c]||0) + 1;
  let h=0; for(const k in counts){ const p = counts[k]/n; h += -p*Math.log2(p); }
  return h;
}

用語ミニ辞典

  • ジニ不純度:ノード内の混ざり具合(0=純粋)。分割の良さは「親ジニ − 加重子ジニ」。
  • 情報利得:エントロピー基準の利得。決定木ではID3/C4.5系で使用。
  • 刈り込み(Pruning):過学習を避けるために木を縮める操作。

ライセンスと注意

この補完ページは CC BY-SA 4.0 相当での再利用を許諾します(本文・コード部)。Akinator™等の商標・画像は各権利者に帰属します。

© 2025 補完ページ / Educational add-on. Not affiliated with ELOKENCE.

Googleスプレッドシートで「Feb 13, 2022」の翌日の曜日を取得するには、=TEXT(DATEVALUE(TEXT(C4, "mmm dd, yyyy")) + 1, "dddd") を使います。

 Googleスプレッドシートで「Feb 13, 2022」の翌日の曜日を取得するには、=TEXT(DATEVALUE(TEXT(C4, "mmm dd, yyyy")) + 1, "dddd") を使います。+1 で1日加算され、TEXT(..., "dddd")で曜日が表示されます。日本語表示なら "aaaa" に変更も可能です。


フレネル反射(Fresnel Reflectance)

この映像は、青い球体が中央に浮かび、その縁が角度によって白く輝いて見えるという、ガラス玉のようなリアルな印象を与えます。これは**フレネル反射(Fresnel Reflectance)**という技法によって実現されています。フレネル反射とは、物体の表面に対して見る角度が浅くなるほど、より多くの光が反射されて白っぽく見えるという、現実の光の性質を再現する手法です。たとえば水面を真上から見ると透明でも、斜めから見ると白く反射するような現象と同じです。この視線と表面のなす角を「内積」という計算で求め、それをもとに色の混ざり具合を決めています。球体の輪郭が白く光って見えるのは、この内積の値をもとに、中心の青と縁の白を段階的に混ぜているからです。混ぜる割合は、距離や角度によって変化し、自然なグラデーションを生み出します。これにより、物体の立体感や透明感が強調され、見る者にリアルで物理的な存在感を感じさせるのです。このような効果は、変数名ではnormal(表面の向き)とviewDir(視線の向き)、そしてそれらのdot(内積)によって計算され、fresnelという変数にその強さが保存されています。その後、mixという関数で基本色と反射の色が滑らかに合成され、最終的な色となって表示されます。こうした工程がすべて1フレームごとに計算されており、視点や時間に応じて連続的に変化します。このように、数式だけで物理的な印象を視覚的に再現できるのがGLSLの大きな魅力です。




パブリックドメイン(自由に利用可)の「アトラス」作品

パブリックドメイン(自由に利用可)の「アトラス」作品があります。高解像度でダウンロードできる代表例を挙げます。

  • ジョン・シンガー・サージェント《アトラスとヘスペリデス》(1922–25)— ボストン美術館のオープンアクセス作品。所蔵ページから高解像度画像を取得できます。 MFA Collections+1

  • グエルチーノ《天球を支えるアトラス》(1646)— ウィキメディア・コモンズに公有(PD)として掲載。大きな画像がそのまま利用できます。 Wikimedia Commons

  • ルーカス・クラナハ(父)《ヘラクレスがアトラスを解放》(c.1530)— 米国ナショナル・ギャラリー(NGA)のオープンアクセス。ダウンロード可・公有。 nga.gov

  • エドワード・バーン=ジョーンズ《石に変えられたアトラス》(1878)— コモンズで公有として公開。大画像あり。 Wikimedia Commons

  • ベルナール・ピカール工房《天を支えるアトラス》(1731)— アムステルダム国立美術館(Rijksmuseum)所蔵、Public Domain Mark 1.0。 Google Arts & Culture

あわせて、メトロポリタン美術館の「Open Access」で“Atlas”を検索すると、自由利用できる関連版画・素描が多数見つかります。 The Metropolitan Museum of Art


NDR/EDR/NGFW連携

 

  1. MITRE ATT&CKで検知マップ作成(Execution/C2に厚め)

  • 優先テクニック(例):

    • T1059 Command & Scripting Interpreter(PowerShell/WSH/ bash)

    • T1071 Application Layer Protocol(HTTP(S)/DNS/メール等でのC2)

    • T1078 Valid Accounts(正当アカウント悪用)
      まずはこの3本柱を“必須検知”として赤塗り→データソース紐付け(EDR/NDR/AD/メール/プロキシ/Firewallログ)。 MITRE ATT&CK+2MITRE ATT&CK+2

  • 最低限のイベント指標

    • EDR:Office系→powershell/wscript/spawn、暗号化/エンコード引数、LOLBin(rundll32/regsvr32/mshta等)

    • NDR:低スループット周期ビーコン、JA3/JA4異常、DNS/DoHトンネル徴候、長寿命TLS、SNI不整合

    • NGFW/Proxy:新規/低評点FQDN、国際移動直後のVPN、未分類アプリ通信
      実際に2023年の大規模ネット観測でもC2と実行アクティビティが突出しており、優先領域として妥当です。 ホワイトペーパー ダウンロードセンター

  • NDR⇄EDR⇄NGFW 連携運用の整備

    • 相互トリガー(Playbook例)

      • NDR高確度C2検知 → EDR APIで端末隔離 → NGFWへ宛先FQDN/IPを動的アドレスグループに投入して遮断

      • EDR実行系高リスク(T1059) → NDRへ当該端点のフロー抽出要求 → NGFWへ“ユーザ/端点タグ”で送信遮断

      • NGFW脅威ログ(新規C2カテゴリ)→ EDRにコンテキスト送付しプロセスツリー自動調査

    • 役割分担:NDR=横展開/ネット痕跡、EDR=端点の真偽判定と隔離、NGFW=即時封じ込めの境界実施。EDRとNDRは補完関係で“両輪運用”が推奨。 ITmedia

    • 回避技術への備え:近年は“EDR回避”手口が台頭→ネット側(NDR/NGFW)からも押さえる二重化が有効。 ITmedia

    1. 正当アカウント悪用の監査強化(T1078)

    • クラウド/SSO:異常サインイン(Impossible Travel/新端末/高リスクIP)、新規OAuth同意、MFA再登録、特権ロール付与を日次レビュー

    • オンプレ/AD:イベントID 4624/4625(ログオン/失敗)、4768/4769(Kerberos)、4728/4729(特権グループ変更)を相関

    • ポリシー:全アカウントにMFA、休眠/共有/デフォルト口座の廃止、緊急用Break-glassの保護。T1078の一次対策はMFA徹底です。 MITRE ATT&CKCenter for Threat-Informed Defense

  • XDR/自動化:SOARまたはXDRで上記プレイブックを標準化(隔離・ブロック・証跡保全を“ワンクリック/自動”)。MITRE CoAの参照プレイブック(T1059/T1071/T1078)を雛形に。 Cortex XSOAR+2Cortex XSOAR+2

  • 検証計画:T1059/T1071/T1078のレッドテスト(安全なシミュレーション)→検知率とMTTD/MTTRを測定し閾値調整。

  • ダッシュボード:C2疑いの新規FQDN件数、周期ビーコン件数、実行系高リスク検知、正当アカウント異常の週次トレンドを可視化。

  • 網羅化:横展開用にLateral Movement(T1021/SMB/RDP・Pass-the-Hash 等)とPersistence(T1053 タスク登録等)を追加。

  • サプライチェーン/メール:T1566(フィッシング)→メール/代理送信・DMARC失敗の相関をNDR・EDRと接続。

  • 運用標準:RACI(SOC/ネット/端末/ID管理)、保全・復旧・再発防止の3文書テンプレを完成。


参考(一次情報)

多要素認証

 


  1. FIDO2/パスキー採用:まず管理者・特権ロールをフィッシング耐性MFA(FIDO2/パスキー)に統一、順次全社へ展開。NIST案でもAAL2で“フィッシング耐性オプション”提供が求められています。pages.nist.gov

  2. 未管理端末の遮断/制限:条件付きアクセスやコンテキストアウェアアクセスで「準拠端末のみフルアクセス」「未管理はWeb限定・DL禁止」などを実装。Microsoft Learn+1Google Help

  3. プッシュ疲れ対策:**番号一致(Number Matching/Number Challenge)**を必須化し、プッシュ許可の地理情報・アプリ名表示も有効化。Microsoft Learnhelp.okta.com

  4. レガシー認証の無効化(SMTP AUTH等)とVPN/VDI/SSOのMFA必須CISA

  5. 緊急用(ブレークグラス)アカウント登録回復手順の整備。標的型のMFA疲労・ヘルプデスク狙い(Scattered Spider型)を前提に運用設計。TechRadar

設定のヒント

  • Microsoft Entra:認証強度で「パスキー(FIDO2)」を有効化 → 対象ユーザー/アプリへ段階適用。条件付きアクセスで「準拠端末必須」「リスク高はブロック/強化MFA」を設定。Microsoft Learn+2Microsoft Learn+2

  • Google WorkspaceContext-Aware Accessで端末健全性/場所/IPに基づくきめ細かい制御を設定。Google Help

指標(ダッシュボード化)

  • パスキー利用率(特権ユーザー→全社)/MFA方式別比率(FIDO2>アプリTOTP>SMS)。NIST/CISAは“フィッシング耐性MFA”を推奨・要求。pages.nist.govCISA

  • 未管理端末からのブロック件数/制限付きセッション比率。Microsoft Learn

  • MFAプッシュ誤承認率/番号一致未実装ユーザー数。Microsoft Learn

ロールアウト順(例)

  • 0–30日:特権ロールをFIDO2へ、番号一致を強制、レガシー認証を棚卸し。Microsoft LearnCISA

  • 31–60日:端末準拠ポリシー/BYOD方針を適用、未管理は制限付き。Microsoft Learn+1

  • 61–90日:一般ユーザーへパスキー拡大(国内でも採用拡大中)。WealthNavi

補足