Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
スモールデータ勉強会発表資料
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
放熱勉強会資料
natsutan
0
26
グラフの書き方勉強会
natsutan
0
100
Googleのロボット技術紹介。RT-1からGemini Robotics-ER 1.5 まで
natsutan
0
81
動き検出勉強会資料
natsutan
0
56
WindowsでGenesisに挑戦した話
natsutan
0
540
辛い仕事をプリキュアで乗り切りHack
natsutan
0
95
論文読み勉強会 RoboGen
natsutan
0
370
プログラミング写経のすすめ
natsutan
0
1.5k
ロボット模倣学習勉強会
natsutan
0
500
Other Decks in Research
See All in Research
はじまりの クエスチョンブック —余暇と豊かさにあふれた社会とは?
culturaltransition
PRO
0
570
通時的な類似度行列に基づく単語の意味変化の分析
rudorudo11
0
340
第64回CV・PRML勉強会 論文紹介:Linguistic Priors for Visual Decoupling: Towards Symmetric Vision-Brain Alignment
sokikatayama
0
140
COFFEE-Japan PROJECT Impact Report(Uminomukou Coffee)
ontheslope
0
280
2026 東京科学大 情報通信系 研究室紹介 (すずかけ台)
icttitech
0
4.1k
Unified Audio Source Separation (Defense Slides)
kohei_1979
1
630
衛星×エッジAI勉強会 衛星上におけるAI処理制約とそ取組について
satai
4
610
typst の使い方:言語学を研究する学生のために
gitomochang
0
520
Model Discovery and Graph Simulation: A Lightweight Gateway to Chaos Engineering
anatolykr
0
230
Using our influence and power for patient safety
helenbevan
0
370
Dual Quadric表現を用いた動的物体追跡とRGB-D・IMU制約の密結合によるオドメトリ推定
nanoshimarobot
0
450
CVPR2026論文紹介_VLMにとって良いvision encoderとは何か?Rethinking Model Selection in VLM Through the Lens of Gromov-Wasserstein Distance
kobayashi31
1
170
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
5.1k
GraphQLとの向き合い方2022年版
quramy
50
15k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Chasing Engaging Ingredients in Design
codingconduct
0
240
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
How to train your dragon (web standard)
notwaldorf
97
6.7k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
3
360
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
150
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
470
So, you think you're a good person
axbom
PRO
2
2.1k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
220
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
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 データ収集の心構え 正しく問題を設定する。 何のためにスモールデータ解析をするのかを明確にする。それにより求める精度が変ってくる。 ベースラインを定義してベースラインと比較する 三現主義 ・現場に足を運び、現場の状況を把握する ・現物を触れて、物の状態を確認する ・現実をこの目で見て、事実を知る データを一つ一つ確認する
スモールデータの意義 解析対象に対する知識(ドメイン知識)が重要。 データが不足しがちな為、あらかじめ妥当な仮説を立て、仮説に基づいてデータを収集、解析す る。表面的な機械学習やプログラミングの知識では駄目。 スモールデータだと対象や手法の深い理解が必要で、それが差別化要因となる。