Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
スモールデータ勉強会発表資料
Search
Minoru Natsutani
June 10, 2024
Research
1.6k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
スモールデータ勉強会発表資料
Minoru Natsutani
June 10, 2024
More Decks by Minoru Natsutani
See All by Minoru Natsutani
3D Gaussian Splatting勉強会
natsutan
0
45
初めての模倣学習とVLA
natsutan
0
750
放熱勉強会資料
natsutan
0
44
グラフの書き方勉強会
natsutan
0
110
Googleのロボット技術紹介。RT-1からGemini Robotics-ER 1.5 まで
natsutan
0
110
動き検出勉強会資料
natsutan
0
69
WindowsでGenesisに挑戦した話
natsutan
0
620
辛い仕事をプリキュアで乗り切りHack
natsutan
0
110
論文読み勉強会 RoboGen
natsutan
0
410
Other Decks in Research
See All in Research
[WebDB2026]セレンディピティ指向推薦システム再考 ―セレンディピティの原義・類型・発生過程に基づく設計指針―
recsyslab
PRO
0
200
ふとした出会いで生まれたSkillが、 社内利用1位になるまで
mikimhk
22
25k
【Zozo Research 技術共有会】三次元領域の現在と展望
mickey_0226
3
670
最先端NLP勉強会2026 論文紹介:Reasoning with Sampling: Your Base Model is Smarter Than You Think (ICLR 2026 paper)
kogoro
4
690
Byzantine Eventual Consistency for Reliable Local-First Software
ept
0
190
La génomique au service de la fromageabilité du lait grâce aux spectres MIR
institutdelelevage
PRO
0
170
適応的スパムフィルタのための軽量な類似メッセージカウンタ / jsai2026-adaptive-spam-filter
monochromegane
0
5.9k
20260624 NLP colloquium: 単一のhubテキストがCLIPを壊す:hubnessによる埋め込みの脆弱性特定
de9uch1
2
290
論文紹介:Doc-to-LoRA: Learning to Instantly Internalize Contexts
yukako_nakano
0
200
J-STAGEの現況と全文XML登載必須化について
xspa2012
0
320
SLAMはどこまで解決されたのか?
tomonom
0
1.5k
Vector Map as Language: Toward Unified Remote Sensing Vector Mapping
satai
3
310
Featured
See All Featured
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
560
What the history of the web can teach us about the future of AI
inesmontani
PRO
2
730
Skip the Path - Find Your Career Trail
mkilby
1
250
Optimising Largest Contentful Paint
csswizardry
37
4k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
340
Building a Scalable Design System with Sketch
lauravandoore
464
34k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
620
Test your architecture with Archunit
thirion
2
2.4k
WCS-LA-2024
lcolladotor
0
870
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
790
Transcript
スモールデータ勉強会 2024.6.10 1
アジェンダ ・スモールデータとは ・標準化 ・PCA ・最小二乗法 ・不均衡データ問題 ・データ収集の心構え 2
スモールデータとは 3
4 スモールデータとは ビッグデータに比べて少ないデータ。 スモールデータはとはデータの発生自体がまれであったり、デ ータの収集やアノーテションのコストが高かったりして、大量 のデータをAIの学習に使うのが困難なデータ。 ・異常検知の業務における異常側のデータ ・データを取るコストが高いデータ。 装置が壊れる前後のデータ等。 ・アノーテションに非常にコストがかかるデータ
医者など専門家で無いと判断できないデータ ・契約が進むまででこれしか出せませんと言われた極一部のデ ータ https://www.ohmsha.co.jp/book/9784274227783/
5 スモールデータ解析の特徴 何も考えずDeep Learningを使うと容易に過学習してしまう。 古典的な手法を使わざるを得ない。 解析対象に対する知識(ドメイン知識)が重要。 データが不足しがちな為、あらかじめ妥当な仮説を立て、仮説に基づいてデータを収集、 解析する。表面的な機械学習やプログラミングの知識では駄目。
6 スモールデータで機械学習をするメリット スモールデータであっても、それを持っている競合がほとんどいない。 現場のデータやコストをかけたアノーテションデータは非常に貴重。 ビッグデータになるとGPU等の資本力勝負になるが、スモールデータだと対象や手法の 深い理解が必要で差別化要因となる。
標準化 7
8 データの標準化 まずやることはデータの標準化(Standardization)。 ・データの平均値を0 ・データの分散を1 標準化前 標準化後
9 データの標準化 実際のコード std_x = (x - np.mean(x, axis=0)) /
np.std(x, axis=0)) グラフのコードはgithubに上げています https://github.com/natsutan/WorkshopHub
10 標準偏差メモ その1 1σに含まれる割合(正規分布の場合)は感覚として掴んでおこう 範囲 確率(1次元) ±1σ 68.3% ±2σ 95.4%
±3σ 99.7% ±1σで68%、3σで99%くらいは感覚として持っていても良い。 標準化されたデータに対して半径1(1σ)の円を描い たとき、その中に含まれるデータは上の表より少ない 気がするけど、理由わかるかな?
11 標準偏差メモ その2 サンプリングしたデータの分散の計算はN-1で割る。 標本分散 (sample variance) for n in
[10, 20, 100]: x = gaussian_sampling(0, 2.0, n) print(f'n={n}, variance={np.var(x, ddof=0)}, sample variance={np.var(x, ddof=1)}') n variance sample variance 10 3.00 3.33 20 3.45 3.64 100 4.18 4.23 σ=2.0なので、4.0になって欲しい 実際にパラメータがわかっている確率分布からサンプリングして試してみる。 サンプリングすると実際の分散よりも小さい値になりがち。それをN-1で補正している。 ライブラリを使うときは、どちらの値が出てくるのかを確認する。キーワードddofをつけて検索する。 例えばscikit-learnの標準化では標本分散は使われない(ddof=0)
12 標準偏差メモ その3 Deep Learningだと、標本分散かどうかは割とどうでもよい。 実務で使っている物体検出やセグメンテーションでも、データ全体の平均と分散を計算して いる。 LabelMeでアノーテションしたデータからCOCOデータセットを作るとき、データ全部の平 均と分散を計算して、学習時、推論時に前処理として設定している。 厳密に言うとこれもサンプリングだからN-1が正しいけど、Nが1000を余裕で超えているの
で無視できる。 ただし、スモールデータの時はこの違いが効いてくる。
13 データの標準化(再び) まずやることはデータの標準化(Standardization)。 ・データの平均値を0 ・データの分散を1 採用するアルゴリズムの前提条件を確認すること 例1:ランダムフォレストの場合は、標準化の意味は無い。 例2:距離が出てくるアルゴリズムは、標準化(もしくは正規化)がほぼ必須。 k-meansとか、SVM(RFBカーネル)とか。
14 スモールデータは疑似相関に注意 スモールデータはデータの極一部しか使わないため、データに偏りがあるという前提 で取り組む。 相関係数を取る前にプロットして目で見るのが大事。 相関関係があると思っていても疑似相関を疑うこと。 疑似相関の例「アイスクリームの売上と水難事故の数」 あるイベントXがあるイベントYの原因である3つの条件 ・XはYに先行して発生しないと行けない ・Xが発生していないときは、Yは発生してはならない
・Xが発生したら、Yは必ず発生しないと行けない
PCA(Principal component analysis) 15
16 スモールデータと変数の数 データの数より変数(パラメータ)の数が多いときは、上手くフィッテイングできない。 実務では時々ある。 例:工場から提供したもらったデータが40個なのに変数が50個ある。 センサーが10個あって、処理前、処理A、処理B、処理C、処理後とそれぞれ データを取っていると、それだけで50個になる。 EDAを行い手で特徴量を整理するのも良いが、受注前ということもあってそれぞれの値 の意味をヒアリングできないときがある。 そういうときにはPCAを使って次元圧縮を行う。
17 PCAの例 テストの結果(国語、英語、数学、物理、化学) https://estat.sci.kagoshima-u.ac.jp/data/cgi-bin/data/whats_data/data/img/932722923_9821.xls からダウンロードしました。 # データをutf-8で読み込む data = np.loadtxt('grade.csv',
delimiter=',', skiprows=1, usecols=[1, 2, 3, 4, 5], encoding="utf-8") # データを標準化する。 std_data = (data - np.mean(data, axis=0)) / np.std(data, axis=0) # 主成分分析を行う pca = PCA() pca.fit(std_data)
18 PCAの例 PCAの結果をプロット。 5教科(五次元)のデータを2次元に圧縮 各軸に対しての寄与度もプロットできる。 5教科の点数に対して、第一主成分と第二主成分は何だと思いますか?
19 PCAの例 第一主成分に関しては、全ての特徴量が+の値 を取る。5教科の合計点のような数値が一つ目 の軸
20 PCAの例 国語と英語が+ 数学、物理、化学が- 国語と英語が 得意な人達 数学、物理、 化学が得意な 人達
21 PCAの元ネタ https://www.youtube.com/watch?v=Etjrjx6iSsQ ヨビノリの「主成分分析(PCA)の気持ち」が元ネタです。 詳しく知りたい人は動画を見てください
最小二乗法 22
23 最小二乗法 こういう回帰モデルを考える 正規方程式 正規方程式の解
24 最小二乗法 最小二乗法の注意点:多重共線性 データ(特徴量)に強い相関がある場合、上手く係数が求められない。 ・回帰の係数のばらつきが大きくなる。 ・時には符号が反転する ・わずかな測定のノイズにも過剰に反応する。 →推論精度が下がる、分析が出来なくなる。 https://www.slideshare.net/slideshow/interpretable-ml/177211332 機械学習の解釈勉強会を思いだして。
残念なことに、普通は特徴量はそれぞれ 相関を持っている。
25 最小二乗法 多重共線性を避ける方法 ・PCAを使って特徴量を減らす。 PCR(主成分回帰)と呼ぶ ・L2 normを使う(リッジ回帰) ・PLS(部分的最小二乗法) 狙いはPCAと同じ。 PCAとの違いは、出力も含めて潜在変数Tを作る。そのTを使って推論する。
(PCAは入力だけ見る)
不均衡データ問題 26
27 分類問題と不均衡データ問題 不均衡データの例 ・医療データは健康なデータはいくらでも集まるが、患者のデータは集めにくい。 ・災害時のデータ ・地下資源のデータ 不均衡データの問題 10000人に一人しか発症しない病気の場合、全て病気無しと回答すれば精度が99.99% になる。 実際に病気
実際に健康 病気と推論 TP(True Positiv) FP(False Positive) 健康と推論 FN(False Negatve) FN(False Negative) ROC曲線とか実際のアルゴリムは省略。 興味ある人は本を読んでください。 データにフォーカスします。
28 データの不均衡度 2つのクラス分類の時の、少数派データの割合を不均衡度という。 2つのクラスが同じ数であれば0.5になる。 r = 0.2程度まで低下すると通常の方法では学習が困難 r < 0.1となると十分に不均衡なデータといえる。
データのサンプリングを工夫して、不均衡度を制御する。 𝑟 = 𝑁𝑚𝑖𝑛 𝑁𝑚𝑎𝑗 + 𝑁𝑚𝑖𝑛
29 アンダーサンプリング 多数派データを間引く ・ランダムに間引く。単純だがまあまあ上手く行く ・クラスタ基準アンダーサンプリング。クラスタリングしてから間引く。 ・トメクリンク Human-in-the-loop機械学習勉強会おさらい。 Human-in-the-loop機械学習では、クラスタリングし て外れ値を見つけて学習データとした。 不均衡データでは、多数派データをクラスタリングし
て、それぞれのクラスタからサンプリングする。 クラスターのセンターをサンプルした値にする手法も ある。
30 オーバーサンプリング 少数派データを増やす。アンダーサンプリングを組み合わせても良い SMOTE 少数派のデータから内挿してデータを作る。 4点から内挿するケース
31 サンプリングとBoostingの組み合わせ RUSboost ランダムアンダーサンプリングと、Boostingの組み合わせ。 Boosting時にランダムサンプリングを行うことで、不均衡なデータでも上手く学習できる。 https://www.biorxiv.org/content/10.1101/2021.10.06.463434v1.full.pdf
データ収集の心構え 32
33 データ収集の心構え 正しく問題を設定する。 何のためにスモールデータ解析をするのかを明確にする。それにより求める精度が変ってくる。 ベースラインを定義してベースラインと比較する 三現主義 ・現場に足を運び、現場の状況を把握する ・現物を触れて、物の状態を確認する ・現実をこの目で見て、事実を知る データを一つ一つ確認する
スモールデータの意義 解析対象に対する知識(ドメイン知識)が重要。 データが不足しがちな為、あらかじめ妥当な仮説を立て、仮説に基づいてデータを収集、解析す る。表面的な機械学習やプログラミングの知識では駄目。 スモールデータだと対象や手法の深い理解が必要で、それが差別化要因となる。