カテゴリー「統計学・機械学習・深層学習」の59件の記事

2026/05/09

ディープラーニングではなぜ微分が重要なのか?

ディープラーニングではなぜ微分が重要なのか?
とても初歩的なメモ。

【参考】
最短コースでわかる ディープラーニングの数学 | 赤石 雅典

最短コースでわかるディープラーニングの数学 増補改訂版 : 赤石 雅典: 本

【1】ディープラーニングの理論で使う統計の考え方がわかっていなかった。
原因として、ディープラーニングに入る前に、ロジスティック回帰でまずつまずいているのが分かった。

最短コースでわかる ディープラーニングの数学 | 赤石 雅典を読んで、ようやく理解できた。
増補版が出たので、今なら、最短コースでわかるディープラーニングの数学 増補改訂版 : 赤石 雅典を読むといいと思う。

では、ディープラーニングではなぜ微分が重要なのか?
ディープラーニングの基本には、ロジスティック回帰の考え方がある。
ロジスティック回帰を求める時に、損失関数Lの最小値を求める必要があり、そこで合成関数の微分が使われるからだ。

こんなロジックの流れになる。

【2】たくさんのデータを収集した時に、入力値→出力値を予測したい。
まず、単回帰を考える。
回帰直線は、y=ax+b。
一般化して、y=w_0 * 1 + w_1 * x_1 とみなす。
回帰直線を求めるには、最小二乗法を使う。
損失関数Lは、微分して0になる値を求めればいい。

【3】単回帰ができれば、説明変数を増やして重回帰を考える。
一般化して、y=w_0 * 1 + ・・・ +w_n * x_n とみなす。
同様に最小二乗法を使う。
損失関数Lも同様。

【4】次に、2値分類を行いたい。
ロジスティック回帰に当たる。
教師ラベルが振ってある前提で、入力値→出力値では、0か1を出力する。
正しいか、間違っているか。

ここで、回帰の考え方を使いたいが、そのままでは出力値は0 or 1にならない。
そこで、Sigmoid関数を使って、出力値を0~1の範囲に抑える。
出力値は確率とみなせる。
損失関数Lの最小値を求めるのに微分するが、この時に、合成関数の微分を使うわけだ。

【5】さらに、多値分類を求めたい。
ロジスティック回帰に当たる。
入力値→出力値では、0~mを出力する。
どこかのカテゴリに入っている。

ここで、同様に回帰の考え方を使いたいが、そのままでは出力値は0 or 1にならない。
そこで、Softmax関数を使って、出力値を0~1の範囲に抑える。
出力値は確率とみなせる。
損失関数Lの最小値を求めるのに微分するが、この時でも、合成関数の微分を使うわけだ。

【6】ディープラーニングでは、ロジスティック回帰を元に、さらに隠れ層が加わる。
隠れ層の関数では、ReLU関数を使う。
その他は多値分類と同様。

こういう流れがあるわけだよね。

【7】CNN、Attention、Transformerなどはもっと複雑になるが、単純であるがロジックさえ分かれば、後は同じ。
ちょうど、NANDのろじっくさえ分かれば、後は、NANDで複雑な回路を作れば、CPU、さらにはGPUになるのと同じ。

解析力学、電磁気学、量子力学、特殊相対性理論、一般相対性理論も同様だろう。
基本的なアイデアを理解できれば、後はロジックを付け足して、複雑性を増していくだけ。


| | コメント (0)

2026/04/25

「資料をそのままAIに食わせたい」を解決するMicrosoft製ツールMarkItDownとは?

AI活用が進むほど増える「前処理の手間」。PDF・Excel・PowerPointの内容をMarkdownに変換できれば一気に楽になるはず。
Microsoftが公開した「MarkItDown」が、そのボトルネックを解消するかもしれない。
リンク先をメモ。

【参考】
多様な形式のファイルを Markdown に変換できるMicrosoft 提供の MarkItDown を試してみた #Python - Qiita

markitdown/README.md at main ・ microsoft/markitdown

Obsidianで育てる最強ノート術

Markdownライティング入門 プレーンテキストで気楽に書こう! (技術の泉シリーズ(NextPublishing)) | 藤原 惟 |本 | 通販 | Amazon

TAKE NOTES!――メモで、あなただけのアウトプットが自然にできるようになる | ズンク・アーレンス, 二木 夢子 |本 | 通販 | Amazon

Xユーザーのkou@エンジニアさん: 「Microsoftが出してるmarkitdownが地味に便利すぎる!PDFもExcelもPowerPointも、なんでもMarkdownに変換してくれる。LLMに食わせる前処理がこれで全部解決した笑 https://t.co/WYlb58r68Y #AI #個人開発 #ツール」 / X


AI時代では、プロンプトをmarkdownで書く時が多い。
しかも、コンテキストとして前提条件、制約条件をたくさん書く必要がある。
文章がすごく長くなる。
そんな時に、ExcelもPowerpointを添付する時に、テキストの文章でmarkdownで貼り付けたくなる。

まだ試せてないが、今度試してみたいと思う。

| | コメント (0)

なぜ『図解 線形代数: ストラング流直感的理解』は分かりやすいのか?従来の線形代数との決定的な違い

大学で習った線形代数、正直つまらなかった記憶はないだろうか。
しかしAI時代の線形代数はまったく別物だ。
正方行列中心から長方形へ、ゴールも固有値分解から特異値分解へ。
本記事では、図解 線形代数: ストラング流直感的理解を元に、その違いと本質をわかりやすく解説する。

【参考】
図解 線形代数: ストラング流直感的理解 (近代科学社Digital) | 平鍋 健児 |本 | 通販 | Amazon

世界標準MIT教科書 ストラング:教養の線形代数

世界標準MIT教科書 ストラング:線形代数とデータサイエンス

世界標準MIT教科書 ストラング 微分方程式と線形代数

世界標準MIT教科書 ストラング:計算理工学 | ギルバート ストラング |本 | 通販 | Amazon

線型代数学 (数学選書 (1)) (数学選書 1) | 佐武 一郎 |本 | 通販 | Amazon

【1】「図解 線形代数: ストラング流直感的理解」が出版された。
僕もレビューアとして手伝えたので、出版が凄く嬉しい。

僕が大学生の時に使った佐竹一郎の線形代数本(線型代数学 (数学選書 (1)))よりも実践的で分かりやすいと思う。
線形代数のゴールは、昔はジョルダン標準化だったが、現代は特異値分解。
ここから画像の特徴量抽出につながる。
また、昔の線形代数の対象は、正方形の行列だったが、現代では、長方形で縦長や横長の様々な行列に変化した。
AI時代では、線形代数の理解が鍵を握る。
そのアイデアを自分なりに解説してみる。

【2】一般に高校生や大学生は、線形代数を習得するが面白くないだろうと思う。
なぜこんな書き方で計算する必要があるのか、理由がいまいち納得できないからだ。

一般に線形代数は連立方程式を解くための手法の一つに過ぎないと思う。
しかし、単にそれだけではないのだ。


図解 線形代数: ストラング流直感的理解」は他の巷の線形代数本と違うのか?
それは2つある。

【3】1つ目は、線形代数で対象とする行列が、昔は正方形の行列ばかりだったが、AIが主流の現代では、長方形の行列のように何でもありになったことだ。

昔の線形代数は、量子力学に出てくるエルミート行列にしても、相対性理論のテンソルにしても、基本は正方形だ。
次元数を揃えるのでそうなるわけだ。

しかし、現代では、線形代数は画像を対象に使う。
縦長だったり横長だったりする画像が普通なので、線形代数も正方形でなく長方形が一般的だ。
すると、従来の線形代数のやり方では通用しない場面も多い。
行列のRankを考えると、次元数が少なく、連立方程式でも無数の解が出る場合も出てくる。

よって、昔の線形代数に慣れた人ほど、ストラング本の線形代数を読むと正直面食らうと思う。
昔の線形代数は量子力学のために利用する。
今の線形代数は、データサイエンスや画像の特徴量抽出、機械学習のために使う。
その時に、行列の対象が正方形から長方形へ変わっているからだ。

【4】2つ目は、線形代数のゴールが昔はジョルダン標準化だったが、AIが主流の現代では、特異値分解であることだ。

昔は、正方行列を以下に対角化可能な状態へ変形することに労力をかけていた。
その理由は、行列の積が出る場面が多く、手作業で計算するにはできるだけ対角行列に近い行列に変形しておきたかったからだ。
僕には、昔の線形代数は正直面白くなかった。
ひたすら計算をいかに楽にするか、という点だけ考えるばかりで、線形代数の意義が感じられなかったからだ。

線形代数が一番効果的に使われる分野は、物理学における量子力学だろう。
波動関数を計算する時に、固有値分解を使う。
場の量子論へ向かう過程で、|φ>、<φ|みたいな基底を作って計算する。
そういうお作法みたいに感じる。

しかし、AI全盛の時代では、線形代数の利用対象が、従来の物理学から今は画像処理やAIに変わりつつある。
特に、画像処理の背後では線形代数を使うのが一般的だ。
その画像処理の計算もPythonでプログラミングできてしまう。

佐竹一郎の線形代数本(線型代数学 (数学選書 (1)))のように、線形代数のゴールは固有値分解の最終形であるジョルダン標準形だった。
しかし、AI全盛の時代では、線形代数のゴールは特異値分解になる。
特異値分解があるからこそ、画像圧縮、特徴量抽出の計算が楽になる。
Pythonなら、U, S, VT = np.linalg.svd(X) の一文だけで特異値分解できる。

たとえば、下記ページから、画像圧縮の特異値分解では、せいぜい100の固有値ぐらいで見た目が変わらない事が分かる。
画像を2倍以上圧縮しても人間の目では判断がつかないレベルになる。

SVD-Demo: Image Compression

個人的には、高校生や大学生の頃に、線形代数の計算の中に、特異値分解を知ることができたら良かったと思う。
そうすれば、画像処理の計算から入って、最終的には機械学習や深層学習の計算に触れることができただろう。
さらに、そこからLLMを自ら計算して作り出すところまでいったかもしれない。

そんな時代を考えると、時代の環境変化に追随して、自分の古い知識や価値観を捨てて、新たな知見を探す旅を恐れてはいけないと思う。

【5】「図解 線形代数: ストラング流直感的理解」の良さは、2つある。
1つは、行列をベクトルの足し算に分解するイメージが湧くこと。
2つ目は、マトリクスワールドの絵で直感的に行列のシュルを理解できることだ。

本がカラフルなのもいい。

【6】AIに必要な線形代数を理解するために、線形代数の攻略マップを描いてみた。
線形代数の攻略マップのイメージはこんな感じ。

高校生や大学生の頃に習った線形代数と、AI全盛の時代の線形代数は異なると理解した方がいい。
ポイントは2つだ。

AI時代の線形代数は長方形の行列を対象にする
1つ目は、行列は正方行列がメインではなく、長方形の行列が対象になることだ。
理由は、画像を行列に表す時、画像のサイズはいつも正方形とは限らないからだ。
むしろ、縦長だったり横長だったり、長方形のケースが一般的だ。

よって、従来の正方行列に関する対角化、固有値分解の考え方だけでは通用しない。
したがって、A=LU、A=CRのように、任意の長方形行列を積分解して、rankを落としたり、正方行列に直したり、色々工夫する。

線形代数を理解するためのゴールは特異値分解だ
2つ目は、線形代数を理解するためのゴールは、固有値分解ではなく、特異値分解だ。

AIでは画像処理で特徴量抽出により、教師なし学習で概念を把握する。
その画像処理では、画像はRGBでMxNの行列成分で表示されて、特異値分解により画像圧縮して情報量を減らす。
また特徴量は、特異値分解によって得られた固有値、実際は特異値によって判別される。

特異値分解に行くまでの道筋はこんなイメージだ。
基本は実数の世界で考えるので、実数の行列で考える。

任意の行列Aは、AA^{T}が必ず対称行列になるために、対称行列の世界にマッピングする。
直交行列は、線形独立なベクトルから成る行列と見なせばいい。

すると、スペクトル分解により、任意の対称行列は直交行列を組み合わせて、対角化可能になる。
さらに、対称行列の中から半正定値行列を選べば、固有値は必ず0以上の実数になる。

そこから、任意の行列を「必ず半正定値行列のスペクトル分解に帰着させる仕組み」を考えれば、特異値分解になる。
そんな流れ。
たぶん上記の考え方を使えば、スムーズに行くはずと思う。

【7】世界標準MIT教科書 ストラング:教養の線形代数 | Gilbert Strang, 松崎 公紀, 平鍋 健児はとても良い本なのだが、たくさんの内容が書かれていて、最短ルートで本当に知りたい内容を理解するのに時間がかかる。
だからこそ、図解 線形代数: ストラング流直感的理解でまずイメージを理解した方が手際よく読み進められると思う。


| | コメント (0)

2024/12/29

Redmineは組織のナレッジ基盤として実現可能なのか~島津製作所の事例を読み解く #redmineT

redmine.tokyo #27では、@akahane92さんが島津製作所にRedmineを導入し組織のナレッジ基盤として長年運用して成功された事例を講演された。
資料を改めて読んでみて、気づきや疑問もあった。
きちんとまとめたいけど時間がないので、ラフにメモ書きして、疑問形をラフに散らかしている。

【参考】
株式会社島津製作所_研究開発(集団協業と知的生産)の現場を支える、OSS知識基盤システムの導入 - Speaker Deck

Kuniharu AKAHANEさん: 「発表資料 全スライド 85ページ版(SpeakerDeck)です。 Redmine東京#27、2024年11月9日@中野 #redmineT https://t.co/52DZPkJfz2 (URL, QRコード は変更なし) https://t.co/QWQYCePqGY」 / X

2024/11/10 第27回勉強会 - redmine.tokyo #redmineT - Togetter [トゥギャッター]

【1】Redmineを導入し成功した事例では、いつも下記のような2つの疑問が問われる。

【1-1】Redmineの機能と、会社として実現したい問題解決の間にあるフィットギャップ

いくらRedmineが有用だといっても、それぞれの会社で抱える問題は個別であり、他事例を安直に移植できない。
Redmineの標準機能で、会社特有の問題をどの範囲までどのレベルまで解決できるのか?

問題解決に対し、Redmineに不足した機能があるならば、どのような手段を使って解決を試みたのか?
それはどのレベルまで解決したのか?

【1-2】Redmineの運用推進を支えるための組織体制づくり
いくらRedmineが有用だといっても、ツールの機能にプロセスは埋め込まれているわけで、そう簡単にユーザに根付くものではない。
Redmineを日々運用して普及を支える組織体制はどのように工夫しているのか?
どのような運用ルールを組み込んでいるのか?

【2】Redmineの標準機能をどのように使っているのか?

ITSの内部構造:

ITSプロジェクト=PLM(対象装置、製品)毎に作成
ITSプロジェクト毎にメンバーと権限を付与
チケット=対象装置に関する解決すべき課題
Wiki=対象装置に関するメンバー間で共有する情報


ITSプロジェクトはどんな観点でどんな単位で割り当てているのか?
ITSプロジェクト=1製品
プロジェクトの期間は長い
製品が企画されて設計されて、その後製品が販売終了し保守も完全に終わるまで、プロジェクトは続くと推測
そう簡単にプロジェクトはCloseしない
1つの製品プロジェクトに、数年、数十年携わった試行錯誤のチケットが蓄積される
サブプロジェクトに「研究開発 第◯次」が含まれる

Redmineインスタンスは
「分析計測技術ITS」「分析計測事業部ITS Global」の2つ

「分析計測技術ITS」が元々運用されていた
企画部門・開発部門が中心になって、製品企画から開発まで

「分析計測事業部ITS Global」は製品開発後に、製品そのものの製造・販売・サービス保守などと連携するために作られたと推測
インスタンスをわざわざ分けた理由は何か?
製品企画や製品開発までと、設計が完了して量産化体制に入った製品の生産や販売や保守は、情報の観点や管理する観点、部門間の関連度合いも異なる
「情報流通の壁」
販売情報まで企画や設計も含む1つのRedmineに集約する必要はない

プロジェクト数が1千個まで増えている
たぶん、製品寿命は数年以上と長いのでプロジェクトの生存期間は長い
製品が増えればプロジェクトは単調増加する

とはいえ、プロジェクト数が増えても、アサインされるメンバや権限を制御できれば、実作業するメンバは担当プロジェクトしか表示されないので、困ることはない

チケットの対象は?
WBS作業単位から、要求・仕様のストーリー単位
チケットは作業よりも課題
チケットはIssueとみなす
ITSという本来の使い方

チケットの説明欄の文字数が増えている
その理由は明らか
作業レベルではなく、要求や課題の背景、課題解決の試行錯誤まで書き残す

チケットは共有できる研究開発ノート
「後任者の道しるべ」

ナレッジ基盤としてチケット駆動が活用できるメリット
チケット同士の相互リンク
Wikiに技術勉強会などの共有ナレッジを集約

チケットにSubversionの成果物が紐づく
チケットに成果物の履歴もリンクされる
1チケット=1クリアフォルダ

研究段階からチケットに記録されて、製品開発の担当者にも知見が共有される
試作した結果も研究者にフィードバックされる
研究や開発の相互の担当者にもメリットがある

チケットに添付ファイルを付ける
添付ファイル数が以前より2倍以上に増えている
製品開発に関わる画像やPDF資料が多いのではと推測
チケットにファイルを添付することで、課題の背景や試行錯誤をより説明しやすくなる

チケットの生存期間はどれくらいなのか?
毎週に週次の棚卸しを開催して、3ヶ月以上放置されたら積極的にCloseされている
チケットの生存期間は数週間レベルではないかと推測

チケットは年間で2万~3万件発行されるため、毎月2千件以上発行されると推測
チケット完了率が約80~90%と高いので、1ヶ月以上放置されることはあまりないと推測
チケットの内容が作業レベルよりも製品開発の課題であることから、チケットの難易度はそう簡単ではないと思われるため、チケット完了率の高さが驚き
チケットの作成や更新を担当するメンバーのモチベーションや意識が相当高いと推測


【2】Redmine運用を支えるための非機能要件は満たされているのか?
数千人、数十万チケット、数十テラバイトのデータを維持管理できるRedmine基盤を構築できるのか?

ITSの弱点は全文検索機能

問題点
ITS標準の検索機能はデータ量増加により性能要件を満たせない
検索できる範囲はせいぜいチケットとWikiくらいのみ
検索精度も文字列の一致だけで意味間まで見ていないので、有用な情報を検索できない
真の意味で、情報の追跡可能性を実現できていない

そこで
チケット、Subversion、添付ファイルを全文検索の対象範囲とする
GroongaとRedmineを連携させて全文検索させる

Groongaで Redmineを 高速全文検索 - Rabbit Slide Show

Redmineシステム内の文字列、添付ファイルやリポジトリまで全文検索を対象にしてくれる
スコアベース、畳み込み検索で高精度検索が可能
検索も高性能
元データは未加工、秘匿できている

おそらく、Groongaで定期的に検索対象データをクローリングし、索引を作って全文検索できる仕組みを提供しているはず
全文検索対象の記録文字のほとんどは、Subversionと添付ファイル
PDFやExcel、Word、パワポなどの資料が多いのではないか
それらを全文検索対象にしているはず
全文検索の基盤構築はそう簡単ではないと推測

情報の追跡可能性と非機能要件の確保を実現できたと言うが、3千ユーザ、数十万チケット、数十テラバイトのデータ類を鑑みると、インフラ基盤のチューニングは相当なノウハウが埋め込まれているのではないかと推測
そう簡単に実現できるレベルではない

【3】Redmineの運用推進を支えるための組織体制づくり

Redmineを社内全体に運用推進するための工夫は何か?
組織や体制はどんな構造にしているのか?

数千人の社内ユーザに説明して普及させるには、ITS事務局だけでは推進できない

週次ミーティングでチケット棚卸し
3ヶ月に1度、放置チケットを積極的にClose
問い合わせチケットは、常任モデレータを付けて「見つけてクローズ」

おそらくITS事務局の他に、各部門、各部署に専任のRedmine担当者を付けて、普及推進しているのでは?
そうでなければ、日々の細かな問合せ対応がITS事務局に集中してしまい、運用がパンクする
また、各部署へRedmine運用プロセス訂正通知や指示が流せない
組織をまたがるような指揮命令系統があるのではないか

今後の展望も興味深い
Redmineに蓄積されたデータをAI学習用データとして利活用できるか?

運用後まもなく、構成管理される成果物はDocumentsとSourcesで分類して運用されている
つまり、知識として確定したデータと経験で得られたデータを区別して管理されている
教師データとして使えるデータを区別できている

昨今成長著しいLLMを使えば、会社の事業領域に関する独自データを元に学習させて、学習モデルを作れるはず
過去に販売した製品、今研究中の製品について、AIに聞けば高精度の内容をすぐに回答できるはず
社内の生き字引みたいな人をAIが代用してくれる

こういう取り組みができるのも、Redmineに蓄積されたデータの品質が良いからだろう
チケットや成果物の記録内容の精度が低ければ、いくら学習させても使えない

【4】感想
島津製作所の事例では、@akahane92さんの講演を何度も聞いてきたが、やはりすごいなと思うし、自分もこういう運用をやりたかったなと思う。
Redmineの面白さや醍醐味は、実運用が定着すると、データが自然に蓄積されるので、そのデータを使えば定量的に分析できるし、実験データや研究データとしても使える。
有用なデータを蓄積できていれば、定量分析した内容も有意味になるはずで、いろんな利活用を膨らませることができる。

特に、機械学習などAI活用は全文検索の機能強化にも役立つ。
相互メリットを活かせば、今後も色んな研究に発展できると思う。


[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

入門Redmine第6版 [ 石原佑季子 ]
価格:3,080円(税込、送料無料) (2024/12/29時点)


| | コメント (0)

2023/05/28

統計学の考え方をastahでまとめた

統計学の考え方を自分なりにastahでまとめた。
初心者のラフなメモ書き。

【参考】
計量経済学における統計上の根本問題: プログラマの思索

「推計学のすすめ」「経済数学の直観的方法~確率統計編」の感想: プログラマの思索

データ分析の課題はどこにあるのか: プログラマの思索

データ分析の面白さはどこにあるのか: プログラマの思索

経済学や心理学の実験で得られた理論は再現性があるのか?~内的妥当性と外的妥当性の問題点がある: プログラマの思索

経済学は信頼性革命や構造推定により大きく変貌している: プログラマの思索

統計学の考え方に関する感想: プログラマの思索

ランダム化比較試験はなぜ注目されて利用されるようになったのか: プログラマの思索

【1】統計学はいつも習得したいと思うのに、習得にすごく時間がかかる気がするのはなぜだろうか?
その理由は、統計学の考え方は独特な世界観があるからではないかと思う。

なぜ正規分布がそんなに重要なのか?
なぜならば、世界の物事のばらつきは最終的に正規分布に収まるから。
だから、観測や測定でデータを採取したら、まず正規分布を書いて、測定値がどこにプロットされるかイメージたらいい。

最小二乗法の基本思想は何か?
観測や調査で得られた測定値の誤差は正規分布に従う。
ゆえに、測定値のデータの背後にある正規分布の中心線を予測すること。
ガウスが誤差論から生み出した。

統計的仮説検定とは結局何なのか?
そのロジックは確率的な背理法。
だから、ややこしく感じる。

従来の数学や物理の理論や哲学と、昨今のビッグデータやAIなどの違いは何なのか?
従来の理論は演繹的にトップダウンで、世界を説明しようとする。
一方、昨今では、統計理論と強力なコンピューティングパワーで、ビジネスの副産物で得られた大量データを元に因果関係まで帰納的に推測してしまう。

【2】推測統計学の考え方

母集団のデータを全て調査できればよいが、実際はその中の一部のサンプルしか集められない場合が多い。
調査には時間もコストも掛かるから。

では、集めた測定値から母集団はどのような構造になるのか?
大数の定理より、サンプルから推測される母集団の背後にある正規分布を予測する。
そのためにt検定など色んなツールがある。

サンプルデータの抽出方法が上手くないと母集団のデータ構造を推測しにくい。
複数の標本を独立に選ぶことが大事。
つまり、マーケティングのセグメンテーションと同じ考え方。

母集団の平均・分散を既に知っているか、全く知らないか、で推測方法が変わってくる
母集団の平均・分散を既に知っていれば、推測する正規分布の精度は高くなるだろう。
しかし、一般には母集団の平均・分散は全く知らない場合が多いので、推測してもその分誤差は出る。

母集団が1個なのか、2つなのか、で推測方法が変わってくる。
母集団が1つなら、母集団の構造を知ることが重要。
測定したサンプルは母集団のどこにプロットされるのか、が重要なテーマになるだろう。
つまり、内的妥当性の問題になるだろう。

一方、母集団が2つなら、2つの母集団を比べて、優劣や評価を比較することになるだろう。
たとえば、補助金を与えた集団と、補助金なしの集団ではどんな行動の差があるのか、とか。
すると、その行動の差から得られた知見は、その他の母集団に適用できるか、という問題に発展するだろう。
たとえば、米国で得られた統計結果は、日本でも当てはまるのか?とか。
つまり、外的妥当性の問題になるだろう。

【3】正規分布ファミリーの全体像

正規分布には色んな種類がある。
Z分布、t分布、F分布、χ2乗分布とか。

これらの分布は、母集団の平均値や標準偏差を知っているかどうかで変わってくる。

【4】統計的仮説検定の9パターン

統計的仮説検定が理解しにくいと思う理由は、2つあると思う。
1つは、仮説的統計検定の基本思想が確率的背理法であること。
背理法の考え方でつまずきやすいのではないか。

もう一つは、推測したい母集団の平均値や標準偏差が既知なのか未知なのか、で手法が変わってくること。
たくさんの検定手法があって名前から手法の中身を推測しにくい。
前提条件をIF文で分岐処理して検定手法が確定するので、そのパターンをイメージしておかないといけない。

【5】統計検定2級は6年前に取得した。
その時に上記の考え方を自分のastahの中で色々書き込んでいた。
その時のメモを残しておいた。

これらをベースに機械学習がある。
分類(classification)、回帰(regression)、クラスタリング(clustering)、次元圧縮(dimensionality reduction)とか。
PythonのScikit-Learn のチートシートも公開されているので、またまとめておく。

Pandas Cheat Sheetのリンク: プログラマの思索

scikit-learn「アルゴリズム・チートシート」のリンク: プログラマの思索

| | コメント (0)

2023/04/08

ランダム化比較試験はなぜ注目されて利用されるようになったのか

RCT大全 | アンドリュー・リー」を読んで、ランダム化比較試験はなぜ注目されて利用されるようになったのか、考えてみた。
ラフなメモ書き。

【参考】
データ分析の課題はどこにあるのか: プログラマの思索

データ分析の面白さはどこにあるのか: プログラマの思索

経済学や心理学の実験で得られた理論は再現性があるのか?~内的妥当性と外的妥当性の問題点がある: プログラマの思索

経済学は信頼性革命や構造推定により大きく変貌している: プログラマの思索

統計学の考え方に関する感想: プログラマの思索

計量政治学と計量経済学の考え方の違い: プログラマの思索

計量経済学における統計上の根本問題: プログラマの思索

Rによる計量経済学/計量政治学を読んでいる: プログラマの思索

【1】「RCT大全 | アンドリュー・リー」は、ランダム化比較試験の事例集だ。
疫学、開発経済学、社会学、教育などの分野にランダム化比較試験を適用して、こんな効果がありました、をたくさん書いている。

興味深かったのは、貧しい人達に社会的に有益な行動を導こうとするには、有料で払わせるのがいいのか、無料がいいのか、補助金のようにお金を渡す方がいいのか、場面によって異なることだ。
何でもかんでも無料で渡す方が、貧しい人々の行動を誘導できるとは限らない。
時には、無料ではなくマイナス費用である現金を渡した方が良い場合もある一方、有料で払わせる方が良い場合もある。
人間のインセンティブをいかに刺激するか、が大事なのかもしれない。

そういう事例を読むと面白いのだが、ランダム化比較試験はどんな構造を持つのか、ランダム化比較試験はなぜ今頃になって注目されるのか、という疑問が湧いてくる。

【2】ランダム化比較試験は従来の理論と何が違うのか?

ランダム化比較試験は帰納的な理論を作れる手法だと思う。
データさえあれば、因果関係や理論が分からなくても、解決方法が得られるメリットがある。
いわゆる純粋数学や理論物理のように、シンプルな公理系から演繹的に数多くの定理や原理を導き出す手法とは異なる。

例えば、昨今では、コロナワクチン接種は世界中の人間を対象にランダム化比較試験された成功事例だろう。
コロナウイルスの症状の原因や根本療法は今でも分からない。
そして、mRNAコロナワクチンが本当に有効なのか、分からなかった。

しかし、コロナワクチンは直近3年間、全世界の人間、たぶん数十億人に注射されてその効果がわかった。
実際、数多くの人命が救われたし、予防効果もある。

僕が思うに、コロナワクチン接種の効果測定は、ランダム化比較試験しやすかったのだろうと思う。
街中でコロナ患者が溢れたら、サンプルとなる患者を集めるのも簡単だし、同質な2つの集団に分けることが容易だったからだ。

今ならマスクの効果測定もランダム化比較試験がやりやすいだろう。
コロナ感染防止にマスクは役立つ効果がある、ということはランダム化比較試験で十分に分かっているが、まだコロナ感染者がいる社会では、同質な2つの集団をランダムに作って実験することは容易い。

今では、コロナ感染者を数えなくなったので、下水道のサーベイランスでコロナ感染流行を測定する方法が有効と言われている。
この方法は、かつてのイギリスで、下水道のサーベイランスからコレラ流行を予測に役立てた事例を思い出させる。
コレラの原因が分からなくても、どうすればコレラ流行を防げるか、という解決方法は帰納的に導き出せる。

【3】ランダム化比較試験はなぜ、今頃になって注目されて利用されるようになったのだろうか?
ランダム化比較試験が有効と分かっているならば、もっと古くから有効活用されていたはずだ。
実際、統計学は200年前に生まれて1900年代前半には、t検定とかランダム化比較試験などの構造も十分に分かっていた。
なぜ、一般的に利用されていなかったのか?

その理由は3つあると思う。

【3-1】1つ目は、Inputの観点で、大量データが集まるようになったことだろう。
たぶん、インターネットとPCやスマホの普及のおかげだろう。
それ以前は、国勢調査のように、申請書を人手で仲介することでデータを集めていたから、相当なコストも時間もかかっていた。
たとえば、t検定が生まれた経緯も、いかに少ないサンプル数からあるべき正規分布を導き出すか、というモチベーションだった。
しかし、今なら、ECサイトやSaaSで簡単にログというデータを大量に集められる。
Webビジネスでは、データはビジネスの副産物として簡単に入手できるからこそ、それらを上手く利用すればいい。
日本でもようやくDXという活動を通じて、日本人の行動履歴をデータ収集できる基盤が揃ってきた。

【3-2】2つ目は、Processの観点で、大量データを強力な計算能力で一気に統計分析できるIT基盤が整ったことだろう。
たぶん、クラウドのおかげだろう。
過去は、少量データから推測する統計理論ばかりに注力されていた
当時は、コンピュータという計算基盤もないので、いくらサンプルが集まったとしても、それらを正規化して処理する手間がかかりすぎて、実現できなかったのだろう。
しかし、今なら、AmazonやGoogleのクラウド基盤を使えば、いくらでもデータ分析や統計分析できるようになった。
例えば、ABテストも簡単に実施して、GoogleAnalyticsで効果測定できて、仮説の結論を迅速に評価できる。

基本的な統計理論はもう揃っているので、後はいかに実装して自動化できる仕組みにするか、が問われているのだろう。

【3-3】3つ目は、Outputの観点で、単なる相関関係だけでなく因果関係を導けることだろう。
たとえば、主成分分析、多変量解析とか。
因果推論の分野は今もっとも注目を浴びている、という記事も読んだことがある。

特に経済学では、物理学を真似して理論を打ち立てるのが目標なので、因果推論ととても相性がいい。
最終的には、大量データで統計分析する実験手法と、従来の演繹機的な理論づくりの2つが相乗効果を発揮して、アウフヘーベンすることで、学問がより一層花開く、という好循環になっているのだろう。

【4】では、ランダム化比較試験がそんなに有効で使い勝手がいいならば、いつでもどこでも使えばいいのでは、と思うが、本当に使えるのか?
実際は、特に社会に絡む分野では、ランダム化比較試験を利用できないシーンはとても多い。
やはり人間集団を実験対象にするには、マーケティングのSTPみたいに、同質のセグメントの集団を作り、介在する集団と介在しない集団に分けるのが難しい。
つまり、ランダム化比較試験をいつでもどこでもすぐに利用できるわけではない。

しかし、ランダム化比較試験が使えないケースでも、自然実験である程度の確からしさを得られることも分かってきた。
そういう統計理論が最近になって揃ってきたこともある。
このあたりは、「データ分析の力 因果関係に迫る思考法」が詳しい。

【5】コロナ禍で分かったことは、統計理論や経済学、医療などの専門分野を理解しておかないと、真実を判別できない場面があるな、と分かったことだ。
人は噂話に簡単に騙される。

たとえば、Twitterで、コロナワクチンを打つと何%の人は死にます、だから危険だ、というニュースが流れたとする。
しかし、そのデータを見てみると、ランダム化比較試験して検証したわけでもないし、バイアスのかかったデータを集めているだけで、統計処理もされていないので、全く有効でなかったりする。
疫学や統計の専門家から見れば、素人が単に無意味な意見をばらまいているだけに過ぎない。
なのに、そういうニュースが人々を席巻し、陰謀論に巻き込まれる。

つまり、医療、疫学、統計理論を知らないTV評論家、Twitter評論家がいかに役立たないか、よく見えるようになった。
一方、最先端の経済学や金融工学とか知らないTV評論家も役立たないことが見えるようになった。
すなわち、専門家から認められない評論家の意見は無視していいことが分かってきた。

そんなことを考えると、統計学の基本的な考え方は知っておいた方がいいのだろうと思う。

| | コメント (0)

2023/04/02

ChatGPTで起きている事象の意味は何なのか

今年に入ってから、ChatGPTによるAIの進展が凄まじい。
ChatGPTで起きている事象の意味は何なのか。

今「深層学習の原理に迫る: 数学の挑戦 (岩波科学ライブラリー 303)」を読んでいる。
全て理解できていないが、気付きが色々あった。
ラフなメモ書き。

【1】ChatGPTのような大規模言語モデルの中身は物理学や数学と同じ。
つまり、過去の数学や物理学の理論をベースに作られている。
ChatGPTの仕組みを知ろうとするとそこまで深掘りすることになる。

【2】ChatGPTの仕組みは、演繹的なのか、帰納的なのか?

(引用開始)
パラメータ数を大きくすることで起きていることは、実はまだわかっていなくて、2つの可能性があるという。
一つ目なら今後"人類がこれまで言語その他の情報の形で書き溜めた知識の総体を学習し切ったところで性能向上は頭打ち"。

二つ目なら"当面は際限なく性能が向上するように見えるだろう。その場合、計算力に関する物理的な制約がクリティカル"で、センサーなどの身体性を持つことで壁を越えることになる。"人類のこれまでの知識の総体」を上限とする理由が無くなり、物理現象の時定数のみが制限として残る"
(引用終了)

僕の直感では、ベースは帰納的で、その後のロジックは演繹的だろうと思う。
大量の学習データを元に訓練して学習モデルを作ると、その後は、得られた特徴量や概念を元に膨大な計算エネルギーを駆使して、演繹的にロジカルに色んなアウトプットを導き出せる。
ちょうど、公理系から定理、系、命題がロジカルに大量に生み出されるのと同じ。

では、そのような大規模言語モデルは、人間のように「意識を持つ」のだろうか?
大規模言語モデルは自我という意識を持ち、数多くの意見を作り出し、行動を生み出すようになるのか?

【3】深層学習の発展は、理論物理学と実験物理学の2つの分野のアウフヘーベンに似ているように思える。

つまり、深層学習の原理にある数学や物理の理論と、実際にプログラムに実装して膨大なコンピューティングパワーを使って膨大な計算量をこなせるような大規模言語モデルを構築することの2つが相互に刺激しあって、より発展していく。

深層学習の原理に迫る: 数学の挑戦 (岩波科学ライブラリー 303)」を読むと、過去の数学の理論では、「深層学習は少ない層で十分な性能が出せる」という普遍近似定理、「膨大なパラメータ数は過剰適合をもたらす」などが既に知られている。
つまり、せいぜい2層程度で、パラメータ数もそんなに多くない深層学習で十分な性能や結果が得られるはず、と思われていた。

しかし、現実は違う。
実際に実装された大規模言語モデルでは、パラメータ数は数億、数兆とか、層も数千、数万とかかなり複雑。
つまり、コンピューティングパワーを使ってプログラムに実装して実験してみると、実験結果と数学の理論に乖離がある。

そういう理論と実験の繰り返しによって、深層学習はさらに進展している。

興味深いのは、過去の物理と今の深層学習の違いだ。
過去の物理学の歴史では、紙と鉛筆による理論と、望遠鏡やビーカーのような器具による実験の相互作用により発展してきた。
現代の深層学習では、物理や数学の理論と、クラウドをベースにした膨大な計算力を持つコンピューティング環境における実験によって進展している。

【4】ChatGPTのような大規模言語モデルはなぜ、ものすごい性能を出しているのか?

つまり、過去の数学の理論では、「深層学習は少ない層で十分な性能が出せる」という普遍近似定理、「膨大なパラメータ数は過剰適合をもたらす」と言っているのに、実際に実装したChatGPTでは、パラメータ数も層も相当に複雑になって、理論と実験に乖離がある。
その真因は何か?

深層学習の原理に迫る: 数学の挑戦 (岩波科学ライブラリー 303)」では、その理由の真因を明確に書いていない。
でも、ヒントは2つあるように感じた。

1つ目は、過去の数学の理論は微分可能な滑らかな関数を暗黙の前提にしていた一方、深層学習では尖った曲線のような非線形な曲線をベースに作られていること。

たとえば、層を増やす時に、シグモイド関数ではなく、ReLU関数のようなわざと非線形にした関数を用いることで、従来の学習モデルの性能劣化を解決した。
おそらく、我々人間が目の前に対処している問題のほとんどは、非線形の性質を持っているからこそ、そういう仕組みを持つ深層学習、つまり多層の深層学習を必要としているのではないか。

2つ目は、深層学習モデルのパラメータ数をあえて増やすことで、学習エネルギーの損失関数を極小化させることに成功したこと。

僕の直感では、複雑な曲線や曲面のくぼみの中で最小値を探すとき、そのままの次元では極小値を探しにくい。
そこで、パラメータ数をあえて数多く増やすと、複雑な曲線や曲面も次元が増えることによって、平坦な曲線や曲面の部分が非常に多くなる。
よって、平坦な部分を全て洗い出した後に、元の次元に戻してからそれぞれの最小値を求めることで、損失関数の真の極小値を導き出せる、と理解している。
つまり、あえて次元数を膨大に増やすことで、損失関数の極小値を計算する手間を省いているわけだ。

そんなことを考えると、膨大な計算力を持つAI基盤を実際に実装できたからこそ、実験して得られた知見を元に、理論へフィードバックされたのだろうと思う。

【5】「深層学習の原理に迫る: 数学の挑戦 (岩波科学ライブラリー 303)」を読んで気づいたのは、我々人間が視覚、聴覚、触覚などの五感で得られた情報は、全て多次元ベクトルに置き換えられること。

これにより、人間が持つすべての情報や概念は、多次元空間の中にあるベクトルという点であり、ベクトル同士の距離を計算することで、似通った意味である判定、特徴量の抽出などにつながっているわけだ。

何となく、ソシュールが言う言語の概念、フッサール現象学に出てくる自我や他我の概念に似ている気がする。

RDRAをAIに載せるために格闘されているツイートを読むと、まさにその考え方と同じ。

(1) akipiiさんはTwitterを使っています: 「なるほど、要件をグラフ構造にすれば行列に置換できるから深層学習に乗せられるわけか。この発想は、他のユースケースきも使えそう」 / Twitter

【6】ChatGPTで起きている事象の意味は何なのか?

ビジネスモデルの観点では、今起きている事象はAI革命の真っ只中であることだ。
そして、AI革命を主導する人たちは、世界最高レベルの科学者やエンジニアを膨大に持ち、クラウドやデータセンターを膨大に持つ米国と米国の一部の巨大IT企業、つまりGAFAMなのだろう。

akipiiさんはTwitterを使っています: 「昨今のAIの急速な発展を目にすると、次の10年も主役は米国の巨大IT企業だと言わざるをえない。AI開発には、世界最高レベルの科学者やエンジニアといったタレント、膨大な計算リソースが必要であり、それを有しているのは米国と米国の一部の巨大企業だけである https://t.co/Y2bXSdOCYR」 / Twitter

AI革命の中で生きている一人の凡人の観点では、「AIは時代の津波」だということ。
99%の人は、東日本大震災の津波のように巻き込まれて、職を失い、生きる意義を見失い、命の危険にさらされるかもしれない。
だからこそ、AI革命の行き先を最後まで見届ける必要がある。

(引用開始)
私はAIは時代の津波だと思ってる。津波だからもちろん止められない。ごく少数はこの時代の津波に乗れるかもしれないけど、殆どの人は飲み込まれる。

今はいかに高台の登るか、いかに泳ぎを極めるか、いかに頑丈ないかだを作るかに集中すべき。つまり生き残るすべを必死に探して身につけるのだ。「AI?よく分かんない。関係ないっしょ」なんて言ってる人はほぼ確実に溺れる。
このレターを見て私はさらに危機感を持った。私は溺れたくない。まずは出来るだけ使ってみる事。そこが第一歩。
(引用終了)



| | コメント (0)

2023/01/09

過学習に陥った人間や社会の事例は何があるのか

深層学習、機械学習では過学習という罠の事例がある。
では、過学習に陥った人間や社会の事例は何があるのか?
ラフなメモ。

【参考】
学習データに最適化されすぎて本来の目的が達成できなくなる「過学習」と同様の現象はAIだけでなく社会全体で起こっているという主張 - GIGAZINE

失敗の本質―日本軍の組織論的研究の感想: プログラマの思索

なぜ米国企業は90年代に蘇ったのか~日本の手の内は完全に読み取られた~V字回復の経営の感想: プログラマの思索

(引用開始)
Sohl-Dickstein氏は、グッドハートの法則の強力なバージョンは機械学習を超え、社会経済的な問題にも適用できると主張しています。グッドハートの法則の強力なバージョンが当てはまる例として、Sohl-Dickstein氏は以下のものを挙げています。

ゴール:子どもたちをよりよく教育する
プロキシ:標準化されたテストによる成績測定
結果:学校はテストで測りたい基礎的な学問スキルの教育を犠牲にして、「テストに正しく答えるスキル」の教育を進める

ゴール:科学の進歩
プロキシ:科学論文の出版に対してボーナスを支払う
結果:不正確または微妙な成果の公開、査読者と著者の共謀が広まる

ゴール:よい生活
プロキシ:脳内の報酬経路の最大化
結果:薬物やギャンブル中毒になったり、Twitterに時間を費やしたりする

ゴール:国民の利益のために行動するリーダーの選出
プロキシ:投票で最も支持されるリーダーの選出
結果:世論操作のうまいリーダーの選出

ゴール:社会のニーズに基づく労働力と資源の分配
プロキシ:資本主義
結果:貧富の格差の増大
(引用終了)

過学習は人間や社会の方が罠にはまりやすいのではないか。
なぜならば、一度成功すれば、その成功事例や成功パターンに囚われてしまって、成功バイアスから逃げにくくなるから。
成功してしまうと、あえてリスクを選択して、別のやり方を取らなくても成功できると勘違いしてしまうから。

過学習の罠は特に平成時代の日本人や日本社会にすごくよく当てはまるだろう。
昭和の時代に日本が経済No.1になってしまったために、その時の製造業の成功パターンに囚われてしまって、95年から始まったIT革命に乗り遅れてしまって、現在はWebはおろか、クラウド、スマホ、IOT、AIには到底追いついていない。

日本人は「失敗の本質」に書かれているように、第二次世界大戦でも日清戦争・日露戦争の成功体験に囚われすぎて国を破滅してしまったという前科がある。
この前科も過学習という観点で考えれば、とてもフィットするのではないか。

過学習の話で面白いのは、過学習から逃れる手順も既に分かっているいることだ。
具体的には、学習が成功しないようにあえてランダム化して、失敗をある程度許容して、頑健なプロセスを確立することだ。

たとえば、受験勉強に過学習でハマりすぎて、過去問のパターンだけに適合してしまって、新しいテーマの問題に対応できない人であれば、わざと別のテーマを勉強したり、別の分野へ広げるとか。

ある既存ビジネスで成功しすぎた企業であれば、新規事業の種をわざと社内に残し、新規事業を起こせる人たちやチームが活動できるような組織文化をあえて作るとか。

でも、過学習はイノベーションのジレンマと同じタイプの罠かもしれない。
一度成功したやり方でどんどん成功してしまうと、他のやり方を試す事自体がコストがかかるし、現在の成功した状況を危うくしてしまうリスクが大きいからだ。

自分自身も過学習やイノベーションのジレンマに陥っていないか、定期的にふりかえって、我が身を見直すことが大切なのかもしれない。

| | コメント (0)

2022/10/02

計量政治学と計量経済学の考え方の違い

経済セミナー2022年10・11月号 通巻728号【特集】いま、政治の問題を考えるを読んでいたら、計量政治学と計量経済学の考え方の違いの記事が面白かった。
以下はラフなメモ書き。

機械学習で反実仮想や自然実験が作れる: プログラマの思索

Pythonで微分積分や統計の基礎を理解しよう: プログラマの思索

経済学は信頼性革命や構造推定により大きく変貌している: プログラマの思索

経済学や心理学の実験で得られた理論は再現性があるのか?~内的妥当性と外的妥当性の問題点がある: プログラマの思索

Rによる計量経済学/計量政治学を読んでいる: プログラマの思索

【1】計量政治学と計量経済学の考え方の違い

政治学の方が特定地域のこだわりがある。
たとえば、NPO法人や政治家にインタビューするために、現地言語を習得したり、その国の文化に慣れる必要がある。
経済学はそこまでこだわらない。

一方、政治学は理論と計量をそこまで区別しない。
政治学は定性データを重視するし、時事問題を重視する。
たとえば、リーマン危機、ウクライナ戦争など。
しかし、経済学では、理論と計量を区別し、過去に蓄積してきた理論を使って、計量データを用いて、政策の効果を測定したりする。
だから、経済学では、理論の人は計量の論文を読め、計量の人は理論の論文を読め、と言われるらしい。

【2】計量政治学から得られた経験則

独裁者は暴力行使の利益とコストを勘案して多様な手法で大衆を制御しようとする。
ここに独裁者のジレンマがある。
権威主義的な国の選挙は実行がすごく難しい
選挙の不正がなければ、野党や反体制の人達がのさばり、自分たちの権力を脅かそうとする。
一方、選挙で不正を実施しすぎると、本当の支持率が分からないし、どこの地域が支持率が高く、どこの地域に反体制の人達が実は多いのか、分からない。
つまり、自発的な支持が得られないので、実は権力基盤が脆い事実を国民の皆が知っている。
だから、権威主義国の独裁者は実は裸の王様。
だから、独裁者は、自分の支持率はじつは高いのだ、というシグナルを国民に知らせる必要があり、あの手この手を使っている。

また、農業主体の国は人々が散在しており、組織化しにくい。
つまり、一体化して反抗しにくい傾向があるらしい。
すなわち、都市化した国の方が、民衆が組織化しやすく、一致団結しやすいので、民主化しやすい傾向があるらしい。

この話を読んで、フランス革命は実はパリ革命だった、という話を思い出した。
なぜなら、フランスは中央集権の王権国家であり、パリに人民も富も集中していたので、パリで体制変革されると全土にその余波が行き渡っていたから。

【3】民主化はいつどのように起きるのか?

色んな国の統計データを調査すると、与党と野党の間に、権力基盤の合意がある前提があるらしい。
つまり、信憑性のあるコミットメントが存在している。
だから、クーデターや内戦のような暴力行為による政権交代は必要なくなる。
たとえば、韓国や台湾、南アフリカなどがその事例に相当するだろう。

【4】計量政治学に機械学習や深層学習を用いて得られたノウハウ

権威主義国では統計データを不正に操作しているので信頼性が低い。
だが、夜間の光量データから経済活動の活発さを見る、という手法を取ることもできる。
その場合、衛星からの画像データをCNNに食わせて、計測アルゴリズムを作り出す、というやり方も取れる。

すると試行錯誤による発見的予測アルゴリズムの成果はどうだったのか?
4つある。

1つ目は、本来のアルゴリズムは藪の中。
真の因果関係を表すアルゴリズムは不明だった。
特に、深層学習の場合は、予測できたとしても説明可能性は低い。
正しいモデルアルゴリズムにこだわるのは不毛なことがある。

2つ目は万能なアルゴリズムは存在しないこと。

3つ目は、次元の恵みを活用せよ。
説明変数の次元が増えるほど、必要なデータ量は指数関数的に増えて計算できなくなる。
つまり、次元の呪いが発生する。

そこで、次元の呪いを解決するために、予測に必要な説明変数を絞り込む変数選択、過学習を防ぐ正則化などを用いる。
しかし、予測に使える変数は全て投入して、次元の恵みを最大限活用する方法もあるのでは、と。

4つ目は、予測可能性と説明可能性のジレンマがある。
深層学習は、予測性は高いが理屈は複雑で説明しにくい。
一方、線形回帰や決定木は、予測は微妙だが説明しやすく、因果関係を明確にしやすい。
そういうトレードオフがある。
つまり、政策介入の因果関係としての効果を測定することと、機械学習による予測は完全に調和しないのだ。

僕はこのトレードオフは、実際の政策を実行する上で、ハードルが高くなるリスクがあると思う。
たとえば、財政出動や補助金をばらまく政策を実行する時に、これだけの効果を予測できます、とアナウンスすることで、国民や利害関係者を納得させたいが、その効果の因果関係を説明できなければ、本当に効果があるのかと疑問に思う人も増えて、その制作に反対する人が増えてしまい、せっかく期待していた効果が実行しても得られないリスクが出てくるからだ。

経済学のルーカス批判のように、政治学でも自己予言的なリスクがあるのかもしれない。

| | コメント (0)

2022/06/29

メトリクス分析のコツは良いIssueを見つけること

メトリクス分析のコツは良いIssueを見つけることと思う。
ラフなメモ。

【参考】
DXの本丸は「データ」にあり 「問い」からはじめるデータ分析とその活用法 - ログミーBiz

データ分析から導き出す「強い野球チーム」のつくり方 映画『マネーボール』で学ぶデータサイエンス - ログミーBiz

akipiiさんはTwitterを使っています: 「ソフトウェア工学のメトリクス分析の考え方にも適用できるので参考にする。データ分析から導き出す「強い野球チーム」のつくり方 映画『マネーボール』で学ぶデータサイエンス - ログミーBiz https://t.co/ZmCzuVEIUy」 / Twitter

akipiiさんはTwitterを使っています: 「データ駆動はイシュー駆動。良い問いが解決策を生み出す。メトリクス分析も同じだな。DXの本丸は「データ」にあり 「問い」からはじめるデータ分析とその活用法 - ログミーBiz https://t.co/XRe7ceo6u0」 / Twitter

【1】問題解決を図るときに、定量データを扱うのは有効だ。
最近は、Webログやスマホ履歴のようにビジネスの副産物として簡単にデータを集められる。
すると、溜まったデータをいかに活用するか、が大事になる。

『マネーボール』という映画では、貧乏球団が強いチームを形成するのに必要な問題は、「出塁率の最大化」だった。
そこに問いの価値がある。
選手の人間性、選手の組み合わせ、とかそんな観点の問題ではなかった。
問いを「出塁率の最大化問題だ」と立てられたら、あとは、バッター個人のデータを分析して、確率論に持ち込めばいい。

つまり、良い問い(Issue)を把握するのが大事。
良いIssueは数字で答えたくなる。

良いIssueを探るには何が必要なのか?

顧客行動の理解ならカスタマージャーニーを使う。
お客さんがその商品を購入したいと思うタイミングとか、ファンになるまでのステップごとに定量データを集めて分析する。
そうすれば、どこでユーザが離脱するのか、どこでユーザの満足度が低いのか、が浮き彫りになってくる。
これを業務システム開発に置き換えれば、一連の全体の業務フローを描いて、それぞれのステップごとに分解することになるだろう。

次はこれをどうやって定量化していくか?

KPIツリーによる指標分解を使う。
売上=客数x客単価。
顧客数を=認知人数×購入率、みたいに分解していく。

掛け算か足し算で異なる。
掛け算では、2つの指標を独立だとみなす。
足し算はセグメントに分ける。

基本は、カスタマージャーニーマップのステップごとにKPIツリーで分解していく。
この辺りのプロセスは、ECサイトの分析であるAARRRの手法と全く同じ。

【2】ソフトウェア開発プロセスのメトリクス分析でも、同じような考え方を適用できる。

たとえば、WF型開発のPJであれば、工程ごとにゲートがある。
各ゲートに着目してQCDの観点でメトリクスを作ることはできる。

では良いIssueとは何なのか?
Issueをどうやって解決するのか?

良いIssueを見つけるのが大事。
イシューから始めよ」の通り、質よりも量で頑張ると、生産性が非常に悪い。
大量にアウトプットを出しても、正解にたどり着くルートはせいぜいそのうち5%ぐらいしかない。
そうならば、事前に本来のIssueを絞り込んで、生産性を高めるべき。

メトリクス分析では、良いIssueを立てて、そこからKPIツリーで分解した各要素のどこにインパクトがあるのか、を見るのが大事。

| | コメント (0)

より以前の記事一覧