Movatterモバイル変換
[0]
ホーム
URL:
画像なし
夜間モード
Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
SN
Uploaded by
Shuyo Nakatani
PDF, PPTX
51,506 views
数式を綺麗にプログラミングするコツ #spro2013
Technology
◦
Read more
208
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 26
2
/ 26
3
/ 26
4
/ 26
5
/ 26
6
/ 26
7
/ 26
8
/ 26
9
/ 26
10
/ 26
11
/ 26
12
/ 26
Most read
13
/ 26
Most read
14
/ 26
Most read
15
/ 26
16
/ 26
17
/ 26
18
/ 26
19
/ 26
20
/ 26
21
/ 26
22
/ 26
23
/ 26
24
/ 26
25
/ 26
26
/ 26
Recommended
PDF
スペクトラルグラフ理論入門
by
irrrrr
PDF
強化学習その3
by
nishio
PDF
強化学習の実適用に向けた課題と工夫
by
Masahiro Yasumoto
PDF
機械学習モデルの判断根拠の説明(Ver.2)
by
Satoshi Hara
PDF
MICの解説
by
logics-of-blue
PDF
[DL輪読会]DISTRIBUTIONAL POLICY GRADIENTS
by
Deep Learning JP
PPTX
強化学習2章
by
hiroki yamaoka
PDF
21世紀の手法対決 (MIC vs HSIC)
by
Toru Imai
PDF
数式をnumpyに落としこむコツ
by
Shuyo Nakatani
PDF
プログラミングコンテストでのデータ構造 2 ~動的木編~
by
Takuya Akiba
PDF
指数時間アルゴリズムの最先端
by
Yoichi Iwata
PPTX
動的計画法を極める!
by
HCPC: 北海道大学競技プログラミングサークル
PDF
[DL輪読会]Temporal Abstraction in NeurIPS2019
by
Deep Learning JP
PDF
直交領域探索
by
okuraofvegetable
PDF
強化学習その2
by
nishio
PDF
強化学習その1
by
nishio
PDF
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
by
Preferred Networks
PPTX
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
by
nocchi_airport
PDF
数学で解き明かす深層学習の原理
by
Taiji Suzuki
PDF
プログラムを高速化する話
by
京大 マイコンクラブ
PDF
非ガウス性を利用した因果構造探索
by
Shiga University, RIKEN
PDF
[DL輪読会]Relational inductive biases, deep learning, and graph networks
by
Deep Learning JP
PDF
SGD+α: 確率的勾配降下法の現在と未来
by
Hidekazu Oiwa
PPTX
【論文紹介】How Powerful are Graph Neural Networks?
by
Masanao Ochi
PDF
Bayes Independence Test - HSIC と性能を比較する-
by
Joe Suzuki
PPTX
[DL輪読会]Focal Loss for Dense Object Detection
by
Deep Learning JP
PPTX
[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...
by
Deep Learning JP
PDF
機械学習におけるオンライン確率的最適化の理論
by
Taiji Suzuki
PDF
NumPy闇入門
by
Ryosuke Okuta
PDF
CuPy解説
by
Ryosuke Okuta
More Related Content
PDF
スペクトラルグラフ理論入門
by
irrrrr
PDF
強化学習その3
by
nishio
PDF
強化学習の実適用に向けた課題と工夫
by
Masahiro Yasumoto
PDF
機械学習モデルの判断根拠の説明(Ver.2)
by
Satoshi Hara
PDF
MICの解説
by
logics-of-blue
PDF
[DL輪読会]DISTRIBUTIONAL POLICY GRADIENTS
by
Deep Learning JP
PPTX
強化学習2章
by
hiroki yamaoka
PDF
21世紀の手法対決 (MIC vs HSIC)
by
Toru Imai
スペクトラルグラフ理論入門
by
irrrrr
強化学習その3
by
nishio
強化学習の実適用に向けた課題と工夫
by
Masahiro Yasumoto
機械学習モデルの判断根拠の説明(Ver.2)
by
Satoshi Hara
MICの解説
by
logics-of-blue
[DL輪読会]DISTRIBUTIONAL POLICY GRADIENTS
by
Deep Learning JP
強化学習2章
by
hiroki yamaoka
21世紀の手法対決 (MIC vs HSIC)
by
Toru Imai
What's hot
PDF
数式をnumpyに落としこむコツ
by
Shuyo Nakatani
PDF
プログラミングコンテストでのデータ構造 2 ~動的木編~
by
Takuya Akiba
PDF
指数時間アルゴリズムの最先端
by
Yoichi Iwata
PPTX
動的計画法を極める!
by
HCPC: 北海道大学競技プログラミングサークル
PDF
[DL輪読会]Temporal Abstraction in NeurIPS2019
by
Deep Learning JP
PDF
直交領域探索
by
okuraofvegetable
PDF
強化学習その2
by
nishio
PDF
強化学習その1
by
nishio
PDF
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
by
Preferred Networks
PPTX
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
by
nocchi_airport
PDF
数学で解き明かす深層学習の原理
by
Taiji Suzuki
PDF
プログラムを高速化する話
by
京大 マイコンクラブ
PDF
非ガウス性を利用した因果構造探索
by
Shiga University, RIKEN
PDF
[DL輪読会]Relational inductive biases, deep learning, and graph networks
by
Deep Learning JP
PDF
SGD+α: 確率的勾配降下法の現在と未来
by
Hidekazu Oiwa
PPTX
【論文紹介】How Powerful are Graph Neural Networks?
by
Masanao Ochi
PDF
Bayes Independence Test - HSIC と性能を比較する-
by
Joe Suzuki
PPTX
[DL輪読会]Focal Loss for Dense Object Detection
by
Deep Learning JP
PPTX
[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...
by
Deep Learning JP
PDF
機械学習におけるオンライン確率的最適化の理論
by
Taiji Suzuki
数式をnumpyに落としこむコツ
by
Shuyo Nakatani
プログラミングコンテストでのデータ構造 2 ~動的木編~
by
Takuya Akiba
指数時間アルゴリズムの最先端
by
Yoichi Iwata
動的計画法を極める!
by
HCPC: 北海道大学競技プログラミングサークル
[DL輪読会]Temporal Abstraction in NeurIPS2019
by
Deep Learning JP
直交領域探索
by
okuraofvegetable
強化学習その2
by
nishio
強化学習その1
by
nishio
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
by
Preferred Networks
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
by
nocchi_airport
数学で解き明かす深層学習の原理
by
Taiji Suzuki
プログラムを高速化する話
by
京大 マイコンクラブ
非ガウス性を利用した因果構造探索
by
Shiga University, RIKEN
[DL輪読会]Relational inductive biases, deep learning, and graph networks
by
Deep Learning JP
SGD+α: 確率的勾配降下法の現在と未来
by
Hidekazu Oiwa
【論文紹介】How Powerful are Graph Neural Networks?
by
Masanao Ochi
Bayes Independence Test - HSIC と性能を比較する-
by
Joe Suzuki
[DL輪読会]Focal Loss for Dense Object Detection
by
Deep Learning JP
[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...
by
Deep Learning JP
機械学習におけるオンライン確率的最適化の理論
by
Taiji Suzuki
Viewers also liked
PDF
NumPy闇入門
by
Ryosuke Okuta
PDF
CuPy解説
by
Ryosuke Okuta
PDF
Prml4.4 ラプラス近似~ベイズロジスティック回帰
by
Yuki Matsubara
PDF
Prml 2.3
by
Yuuki Saitoh
PPTX
Simple perceptron by TJO
by
Takashi J OZAKI
PDF
無限関係モデル (続・わかりやすいパターン認識 13章)
by
Shuyo Nakatani
PDF
猫に教えてもらうルベーグ可測
by
Shuyo Nakatani
PDF
多次元配列の効率的利用法の検討
by
Yu Sato
PDF
Chainer meetup lt
by
Ace12358
PDF
ボケるRNNを学習したい (Chainer meetup 01)
by
Motoki Sato
PDF
Chainer Contribution Guide
by
Kenta Oono
PPTX
ディープラーニングにおける学習の高速化の重要性とその手法
by
Yuko Fujiyama
PDF
111015 tokyo scipy2_ディスカッション
by
Shohei Hido
PDF
PRML 2.3
by
Yuto Suzuki
PDF
Lighting talk chainer hands on
by
Ogushi Masaya
NumPy闇入門
by
Ryosuke Okuta
CuPy解説
by
Ryosuke Okuta
Prml4.4 ラプラス近似~ベイズロジスティック回帰
by
Yuki Matsubara
Prml 2.3
by
Yuuki Saitoh
Simple perceptron by TJO
by
Takashi J OZAKI
無限関係モデル (続・わかりやすいパターン認識 13章)
by
Shuyo Nakatani
猫に教えてもらうルベーグ可測
by
Shuyo Nakatani
多次元配列の効率的利用法の検討
by
Yu Sato
Chainer meetup lt
by
Ace12358
ボケるRNNを学習したい (Chainer meetup 01)
by
Motoki Sato
Chainer Contribution Guide
by
Kenta Oono
ディープラーニングにおける学習の高速化の重要性とその手法
by
Yuko Fujiyama
111015 tokyo scipy2_ディスカッション
by
Shohei Hido
PRML 2.3
by
Yuto Suzuki
Lighting talk chainer hands on
by
Ogushi Masaya
Similar to 数式を綺麗にプログラミングするコツ #spro2013
PDF
行列計算アルゴリズム
by
Takuo Tachibana
PDF
競技プログラミングでの線型方程式系
by
tmaehara
PDF
データ解析1 ベクトルの復習
by
Hirotaka Hachiya
PDF
PRML復々習レーン#9 前回までのあらすじ
by
sleepy_yoshi
PDF
Rで学ぶデータマイニングI 第8章〜第13章
by
Prunus 1350
PDF
PRML 8.4-8.4.3
by
KunihiroTakeoka
PDF
Matrix
by
Hisao Soyama
PPTX
【Deep Learning (MIT Press)】線形代数 2.1~2.7
by
京都大学人工知能研究会 KaiRA
PDF
さくっと線形代数
by
Kota Mori
PDF
第9回 配信講義 計算科学技術特論A(2021)
by
RCCSRENKEI
PDF
PRML10-draft1002
by
Toshiyuki Shimono
PDF
第7回スキル養成講座講義スライド
by
keiodig
PDF
PRML輪講用資料10章(パターン認識と機械学習,近似推論法)
by
Toshiyuki Shimono
PDF
PFI Christmas seminar 2009
by
Preferred Networks
PPT
R intro
by
yayamamo @ DBCLS Kashiwanoha
PDF
2015年度春学期 画像情報処理 第8回 行列の直交変換と画像情報圧縮 (2015. 6. 10)
by
Akira Asano
PDF
2014年度春学期 画像情報処理 第8回 行列の直交変換 (2014. 6. 4)
by
Akira Asano
PPTX
mathemaical_notation
by
Kenta Oono
PDF
CMSI計算科学技術特論A (2015) 第11回 行列計算における高速アルゴリズム2
by
Computational Materials Science Initiative
PDF
El text.tokuron a(2019).yamamoto190627
by
RCCSRENKEI
行列計算アルゴリズム
by
Takuo Tachibana
競技プログラミングでの線型方程式系
by
tmaehara
データ解析1 ベクトルの復習
by
Hirotaka Hachiya
PRML復々習レーン#9 前回までのあらすじ
by
sleepy_yoshi
Rで学ぶデータマイニングI 第8章〜第13章
by
Prunus 1350
PRML 8.4-8.4.3
by
KunihiroTakeoka
Matrix
by
Hisao Soyama
【Deep Learning (MIT Press)】線形代数 2.1~2.7
by
京都大学人工知能研究会 KaiRA
さくっと線形代数
by
Kota Mori
第9回 配信講義 計算科学技術特論A(2021)
by
RCCSRENKEI
PRML10-draft1002
by
Toshiyuki Shimono
第7回スキル養成講座講義スライド
by
keiodig
PRML輪講用資料10章(パターン認識と機械学習,近似推論法)
by
Toshiyuki Shimono
PFI Christmas seminar 2009
by
Preferred Networks
R intro
by
yayamamo @ DBCLS Kashiwanoha
2015年度春学期 画像情報処理 第8回 行列の直交変換と画像情報圧縮 (2015. 6. 10)
by
Akira Asano
2014年度春学期 画像情報処理 第8回 行列の直交変換 (2014. 6. 4)
by
Akira Asano
mathemaical_notation
by
Kenta Oono
CMSI計算科学技術特論A (2015) 第11回 行列計算における高速アルゴリズム2
by
Computational Materials Science Initiative
El text.tokuron a(2019).yamamoto190627
by
RCCSRENKEI
More from Shuyo Nakatani
PDF
星野「調査観察データの統計科学」第3章
by
Shuyo Nakatani
PDF
Active Learning 入門
by
Shuyo Nakatani
PDF
星野「調査観察データの統計科学」第1&2章
by
Shuyo Nakatani
PDF
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
by
Shuyo Nakatani
PDF
ノンパラベイズ入門の入門
by
Shuyo Nakatani
PDF
ドラえもんでわかる統計的因果推論 #TokyoR
by
Shuyo Nakatani
PDF
言語処理するのに Python でいいの? #PyDataTokyo
by
Shuyo Nakatani
PDF
Zipf? (ジップ則のひみつ?) #DSIRNLP
by
Shuyo Nakatani
PDF
Generative adversarial networks
by
Shuyo Nakatani
PDF
Short Text Language Detection with Infinity-Gram
by
Shuyo Nakatani
PDF
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
by
Shuyo Nakatani
PDF
ACL2014 Reading: [Zhang+] "Kneser-Ney Smoothing on Expected Count" and [Pickh...
by
Shuyo Nakatani
PDF
アラビア語とペルシャ語の見分け方 #DSIRNLP 5
by
Shuyo Nakatani
PDF
[Yang, Downey and Boyd-Graber 2015] Efficient Methods for Incorporating Knowl...
by
Shuyo Nakatani
PDF
Memory Networks (End-to-End Memory Networks の Chainer 実装)
by
Shuyo Nakatani
PDF
ソーシャルメディアの多言語判定 #SoC2014
by
Shuyo Nakatani
PDF
どの言語でつぶやかれたのか、機械が知る方法 #WebDBf2013
by
Shuyo Nakatani
PDF
[Karger+ NIPS11] Iterative Learning for Reliable Crowdsourcing Systems
by
Shuyo Nakatani
PDF
[Kim+ ICML2012] Dirichlet Process with Mixed Random Measures : A Nonparametri...
by
Shuyo Nakatani
PDF
人工知能と機械学習の違いって?
by
Shuyo Nakatani
星野「調査観察データの統計科学」第3章
by
Shuyo Nakatani
Active Learning 入門
by
Shuyo Nakatani
星野「調査観察データの統計科学」第1&2章
by
Shuyo Nakatani
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
by
Shuyo Nakatani
ノンパラベイズ入門の入門
by
Shuyo Nakatani
ドラえもんでわかる統計的因果推論 #TokyoR
by
Shuyo Nakatani
言語処理するのに Python でいいの? #PyDataTokyo
by
Shuyo Nakatani
Zipf? (ジップ則のひみつ?) #DSIRNLP
by
Shuyo Nakatani
Generative adversarial networks
by
Shuyo Nakatani
Short Text Language Detection with Infinity-Gram
by
Shuyo Nakatani
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
by
Shuyo Nakatani
ACL2014 Reading: [Zhang+] "Kneser-Ney Smoothing on Expected Count" and [Pickh...
by
Shuyo Nakatani
アラビア語とペルシャ語の見分け方 #DSIRNLP 5
by
Shuyo Nakatani
[Yang, Downey and Boyd-Graber 2015] Efficient Methods for Incorporating Knowl...
by
Shuyo Nakatani
Memory Networks (End-to-End Memory Networks の Chainer 実装)
by
Shuyo Nakatani
ソーシャルメディアの多言語判定 #SoC2014
by
Shuyo Nakatani
どの言語でつぶやかれたのか、機械が知る方法 #WebDBf2013
by
Shuyo Nakatani
[Karger+ NIPS11] Iterative Learning for Reliable Crowdsourcing Systems
by
Shuyo Nakatani
[Kim+ ICML2012] Dirichlet Process with Mixed Random Measures : A Nonparametri...
by
Shuyo Nakatani
人工知能と機械学習の違いって?
by
Shuyo Nakatani
数式を綺麗にプログラミングするコツ #spro2013
1.
数式を綺麗にプログラミングするコツ夏のプログラミングシンポジウム 20132013/8/25中谷 秀洋@サイボウズ・ラボ
/ @shuyo
2.
今回のおはなし
3.
「ビッグデータの手法を実装」ってどうするの?手法いろいろ数式! 数式!! 数式!!!実装
4.
「数式→実装」は共通機械学習数式! 数式!! 数式!!!実装ここは共通←数値解析
統計処理
5.
数式から実装まで数式! 数式!! 数式!!!実装数式見てすぐ実装?ムリムリ!
6.
小さいステップに分解数式! 数式!! 数式!!!実装数式から行間の情報を読み解く「逐語訳」できる形に数式を書き換える今日のポイント
7.
この後の流れ1. 数式がそこにあった– 「式はどうやって出てきたか」は考慮しない2.
数式を読み解く3. 数式を書き換える4. 数式を「逐語訳」で実装
8.
対象とする「数式」• 行列やその要素の掛け算が出てくる数式– 機械学習などの手法には、行列を使って表されているものが多い–
強力な線形代数ライブラリをうまく使えば楽に実装できる• 数式の例はC.M.ビショップ「パターン認識と機械学習」(以降 PRML)から採用– ただし機械学習の知識は一切要求しない
9.
方針• 「楽に」「確実に」実装しよう– 間違いにくく、可読性が高い–
最速は必ずしも目指していない• 動くものを確かに作れるようになってから• Python/numpy と R での実装例を紹介– 基本的な行列計算しか使わないので、その他の環境(Eigen など)にも参考になる(はず)
10.
書き換え不要なパターン
11.
まずは一番簡単なパターンから𝒘 = 𝚽
𝑇 𝚽 −1 𝚽 𝑇 𝒕 (PRML 3.15 改)• 線形回帰のパラメータ推定の式– 「線形回帰とは何か」などは一切気にせず、この式を実装することのみ考える
12.
数式の「読み解き」𝒘 = 𝚽
𝑇 𝚽 −1 𝚽 𝑇 𝒕 (PRML 3.15 改)• 𝚽:N×M次元の特徴行列– 「特徴行列とは?」は気にしない– 「N×M次元の行列」ということだけ• t:N次のベクトル(正解データ)– 中身は気にしない(以下同様)• w はベクトル? 行列? 何次の?
13.
掛け算した行列(ベクトル)のサイズ𝒘 = 𝚽
𝑇𝚽 −1𝚽 𝑇𝒕M×1 ← (M×N N×M) M×N N×1隣接する行列の列数と行数は一致。そうでなければどこかが間違ってる各行列のサイズ。ベクトルは1列の行列としてこの段階で勘違いしていると実装できないので丁寧に確認しておく両端の行数・列数が行列(ベクトル)のサイズ。列数が1ならベクトル
14.
numpy に「逐語訳」𝒘 =
𝚽 𝑇 𝚽 −1 𝚽 𝑇 𝒕 (PRML 3.15 改)# PHI = N×M次元の特徴行列# t = N次のベクトル(正解データ)w = numpy.linalg.solve(numpy.dot(PHI.T, PHI),numpy.dot(PHI.T, t))※ 逆行列のところで inv() を使ってもいいがsolve() の方がコードが短く、速度も速いnumpy.dot(PHI.T, PHI) numpy.dot(PHI.T, t)𝑨−1 𝒃 = numpy.linalg.solve(𝑨, 𝒃)
15.
R に「逐語訳」𝒘 =
𝚽 𝑇 𝚽 −1 𝚽 𝑇 𝒕 (PRML 3.15 改)# PHI = N×M次元の特徴行列# T = N次のベクトル(正解データ)w <- solve(t(PHI) %*% PHI, t(PHI) %*% T)# crossprod(X) = t(X) %*% X 関数を使っても良いw <- solve(crossprod(PHI), crossprod(PHI, T))t(PHI) %*% PHI t(PHI) %*% T𝑨−1 𝒃 = solve(𝑨, 𝒃)
16.
書き換えが必要になるパターン
17.
多クラスロジスティック回帰の誤差関数の勾配𝛻𝒘 𝑘𝐸 𝑾
= 𝑦 𝑛𝑘 − 𝑡 𝑛𝑘 𝝓 𝑛𝑁𝑛=1(k = 1, ⋯ , 𝐾)(PRML 4.109 改)• 𝒀 = 𝑦 𝑛𝑘 : N×K 次行列(予測値)• 𝑻 = 𝑡 𝑛𝑘 : N×K 次行列(1-of-K 表現)• 𝑾 = 𝒘1, … , 𝒘 𝐾 = (𝑤 𝑚𝑘) : M×K 次行列• 𝚽 = 𝜙 𝑛𝑚 = 𝝓1, ⋯ , 𝝓 𝑁𝑇: N×M 次行列– 𝝓 𝑛 = 𝝓 𝒙 𝑛 = 𝜙 𝑚 𝒙 𝑛𝑇: M 次ベクトル与えられている情報実装に関係するのはサイズだけ
18.
「勾配」の扱い𝛻𝒘 𝑘𝐸 𝑾
= 𝑦 𝑛𝑘 − 𝑡 𝑛𝑘 𝝓 𝑛𝑁𝑛=1• 右辺は M 次ベクトル– 𝑦 𝑛𝑘 − 𝑡 𝑛𝑘 はただのスカラー– 一般には先ほどの方法で次元を読み解けばいい• だから左辺 𝛻𝒘 𝑘𝐸 𝑾 も M 次ベクトル– それが k=1,……,K 個あるだけ• 「M×K次元の行列 𝛻𝐸 𝑾 」を求めると読み解く– 「勾配」そのものは実装には関係ないこれ
19.
「逐語訳」できる形に書き換える• 掛けて行列になるパターンは大きく3通り– 上から要素積、行列積、直積𝑐𝑖𝑗
= 𝑎𝑖𝑗 𝑏𝑖𝑗 ⇔ C = A * B𝑐𝑖𝑗 = 𝑎𝑖𝑘 𝑏 𝑘𝑗𝑘 ⇔ C=numpy.dot(A, B)𝑐𝑖𝑗 = 𝑎𝑖 𝑏𝑗 ⇔ C=numpy.outer(a, b)数式を左の形に書き換えれば、右の numpy コードに「逐語訳」できる※他に「外積」もあるが、使う人やシーンが限られるので略
20.
R 版「逐語訳」• 掛けて行列になるパターンは大きく3通り–
上から要素積、行列積、直積𝑐𝑖𝑗 = 𝑎𝑖𝑗 𝑏𝑖𝑗 ⇔ C <- A * B𝑐𝑖𝑗 = 𝑎𝑖𝑘 𝑏 𝑘𝑗𝑘 ⇔ C <- A %*% B𝑐𝑖𝑗 = 𝑎𝑖 𝑏𝑗 ⇔ C <- outer(a, b)※直積は outer(a, b) の他に a %o% b という書き方もある
21.
式を書き換える (1)𝛻𝒘 𝑘𝐸
𝑾 = 𝑦 𝑛𝑘 − 𝑡 𝑛𝑘 𝝓 𝑛𝑁𝑛=1• 行列の要素の式になおす𝛻𝐸 𝑾 𝑚𝑘= 𝑦 𝑛𝑘 − 𝑡 𝑛𝑘 𝜙 𝑛𝑚𝑁𝑛=1(𝑚 = 1, ⋯ , 𝑀; 𝑘 = 1, ⋯ , 𝐾)– 「求める行列𝛻𝐸 𝑾 」の (m, k) 成分の式にするM次ベクトルの式スカラー
22.
式を書き換える (2)𝛻𝐸 𝑾
𝑚𝑘= 𝑦 𝑛𝑘 − 𝑡 𝑛𝑘 𝜙 𝑛𝑚𝑁𝑛=1• 注:右辺の添え字に未解決のものは残らない– 左辺に現れる : m, k– 右辺で解決 : n (総和で消える)• 3種類の積のどれかに帰着するよう変形– この場合、総和があるので 𝑐𝑖𝑗 = 𝑎𝑖𝑘 𝑏 𝑘𝑗𝑘 に
23.
式を書き換える (3)𝑨 =
𝑎 𝑛𝑘 = 𝑦 𝑛𝑘 − 𝑡 𝑛𝑘 とおくと(𝑁 × 𝐾 行列)𝛻𝐸 𝑾 𝑚𝑘= 𝑎 𝑛𝑘 𝜙 𝑛𝑚𝑁𝑛=1= Φ 𝑇𝑚𝑛 𝐴 𝑛𝑘𝑁𝑛=1• ○mk=Σn○mn○nk の形に調整– 右辺の内側の添え字とΣは同じ n– 添え字の順序を逆にしたければ転置• 𝛻𝐸 𝑾 = 𝚽 𝑇𝑨 であることがわかる
24.
numpyに「逐語訳」𝛻𝒘 𝑘𝐸 𝑾
= 𝑦 𝑛𝑘 − 𝑡 𝑛𝑘 𝝓 𝑛 (k = 1, ⋯ , 𝐾)𝑁𝑛=1𝑨 = 𝒀 − 𝑻, 𝛻𝐸 𝑾 = 𝚽 𝑇𝑨• ここまで簡単になれば、実装は一瞬# PHI = N×M 次元の特徴行列# Y, T = N×K 次元の行列gradient_E = numpy.dot(PHI.T, Y - T)式の書き換え
25.
R に「逐語訳」𝛻𝒘 𝑘𝐸
𝑾 = 𝑦 𝑛𝑘 − 𝑡 𝑛𝑘 𝝓 𝑛 (k = 1, ⋯ , 𝐾)𝑁𝑛=1𝑨 = 𝒀 − 𝑻, 𝛻𝐸 𝑾 = 𝚽 𝑇𝑨• 同様に R での実装例:# PHI = N×M 次元の特徴行列# Y, T = N×K 次元の行列gradient_E <- t(PHI) %*% (Y - T)
26.
まとめ• 数式から条件を読み解こう– この段階で間違っていると、うまく行かない–
さぼらず紙と鉛筆で確認するのが一番賢い• 「逐語訳」できる数式なら実装かんたん– 難しい数式は「逐語訳」できる形に書き換え– さぼらず紙と鉛筆
Download
[8]
ページ先頭
©2009-2025
Movatter.jp