SlideShare a Scribd company logo
1 of 26
Download to read offline
数式を綺麗に
プログラミングするコツ
夏のプログラミングシンポジウム 2013
2013/8/25
中谷 秀洋@サイボウズ・ラボ / @shuyo
今回のおはなし
「ビッグデータの手法を実装」って
どうするの?
手法いろいろ
数式! 数式!! 数式!!!
実装
「数式→実装」は共通
機械学習
数式! 数式!! 数式!!!
実装
こ
こ
は
共
通
←
数値解析 統計処理
数式から実装まで
数式! 数式!! 数式!!!
実装
数式見てすぐ実装?
ムリムリ!
小さいステップに分解
数式! 数式!! 数式!!!
実装
数式から
行間の情報を読み解く
「逐語訳」できる形に
数式を書き換える
今日のポイント
この後の流れ
1. 数式がそこにあった
– 「式はどうやって出てきたか」は考慮しない
2. 数式を読み解く
3. 数式を書き換える
4. 数式を「逐語訳」で実装
対象とする「数式」
• 行列やその要素の掛け算が出てくる数式
– 機械学習などの手法には、行列を使って表さ
れているものが多い
– 強力な線形代数ライブラリをうまく使えば楽
に実装できる
• 数式の例はC.M.ビショップ「パターン認
識と機械学習」(以降 PRML)から採用
– ただし機械学習の知識は一切要求しない
方針
• 「楽に」「確実に」実装しよう
– 間違いにくく、可読性が高い
– 最速は必ずしも目指していない
• 動くものを確かに作れるようになってから
• Python/numpy と R での実装例を紹介
– 基本的な行列計算しか使わないので、その他
の環境(Eigen など)にも参考になる(はず)
書き換え不要なパターン
まずは一番簡単なパターンから
𝒘 = 𝚽 𝑇 𝚽 −1 𝚽 𝑇 𝒕 (PRML 3.15 改)
• 線形回帰のパラメータ推定の式
– 「線形回帰とは何か」などは一切気にせず、
この式を実装することのみ考える
数式の「読み解き」
𝒘 = 𝚽 𝑇 𝚽 −1 𝚽 𝑇 𝒕 (PRML 3.15 改)
• 𝚽:N×M次元の特徴行列
– 「特徴行列とは?」は気にしない
– 「N×M次元の行列」ということだけ
• t:N次のベクトル(正解データ)
– 中身は気にしない(以下同様)
• w はベクトル? 行列? 何次の?
掛け算した行列(ベクトル)のサイズ
𝒘 = 𝚽 𝑇
𝚽 −1
𝚽 𝑇
𝒕
M×1 ← (M×N N×M) M×N N×1
隣接する行列の列数と行数は一致。
そうでなければどこかが間違ってる
各行列のサイズ。
ベクトルは
1列の行列として
この段階で勘違いしていると実装できないので
丁寧に確認しておく
両端の行数・列数が
行列(ベクトル)のサイズ。
列数が1ならベクトル
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(𝑨, 𝒃)
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(𝑨, 𝒃)
書き換えが必要になるパターン
多クラスロジスティック回帰の
誤差関数の勾配
𝛻𝒘 𝑘
𝐸 𝑾 = 𝑦 𝑛𝑘 − 𝑡 𝑛𝑘 𝝓 𝑛
𝑁
𝑛=1
(k = 1, ⋯ , 𝐾)
(PRML 4.109 改)
• 𝒀 = 𝑦 𝑛𝑘 : N×K 次行列(予測値)
• 𝑻 = 𝑡 𝑛𝑘 : N×K 次行列(1-of-K 表現)
• 𝑾 = 𝒘1, … , 𝒘 𝐾 = (𝑤 𝑚𝑘) : M×K 次行列
• 𝚽 = 𝜙 𝑛𝑚 = 𝝓1, ⋯ , 𝝓 𝑁
𝑇
: N×M 次行列
– 𝝓 𝑛 = 𝝓 𝒙 𝑛 = 𝜙 𝑚 𝒙 𝑛
𝑇: M 次ベクトル
与
え
ら
れ
て
い
る
情
報
実装に関係する
のはサイズだけ
「勾配」の扱い
𝛻𝒘 𝑘
𝐸 𝑾 = 𝑦 𝑛𝑘 − 𝑡 𝑛𝑘 𝝓 𝑛
𝑁
𝑛=1
• 右辺は M 次ベクトル
– 𝑦 𝑛𝑘 − 𝑡 𝑛𝑘 はただのスカラー
– 一般には先ほどの方法で次元を読み解けばいい
• だから左辺 𝛻𝒘 𝑘
𝐸 𝑾 も M 次ベクトル
– それが k=1,……,K 個あるだけ
• 「M×K次元の行列 𝛻𝐸 𝑾 」を求めると読み解く
– 「勾配」そのものは実装には関係ない
これ
「逐語訳」できる形に書き換える
• 掛けて行列になるパターンは大きく3通り
– 上から要素積、行列積、直積
𝑐𝑖𝑗 = 𝑎𝑖𝑗 𝑏𝑖𝑗 ⇔ C = A * B
𝑐𝑖𝑗 = 𝑎𝑖𝑘 𝑏 𝑘𝑗𝑘 ⇔ C=numpy.dot(A, B)
𝑐𝑖𝑗 = 𝑎𝑖 𝑏𝑗 ⇔ C=numpy.outer(a, b)
数式を左の形に書き換えれば、
右の numpy コードに「逐語訳」できる
※他に「外積」もあるが、使う人やシーンが限られるので略
R 版「逐語訳」
• 掛けて行列になるパターンは大きく3通り
– 上から要素積、行列積、直積
𝑐𝑖𝑗 = 𝑎𝑖𝑗 𝑏𝑖𝑗 ⇔ C <- A * B
𝑐𝑖𝑗 = 𝑎𝑖𝑘 𝑏 𝑘𝑗𝑘 ⇔ C <- A %*% B
𝑐𝑖𝑗 = 𝑎𝑖 𝑏𝑗 ⇔ C <- outer(a, b)
※直積は outer(a, b) の他に a %o% b という書き方もある
式を書き換える (1)
𝛻𝒘 𝑘
𝐸 𝑾 = 𝑦 𝑛𝑘 − 𝑡 𝑛𝑘 𝝓 𝑛
𝑁
𝑛=1
• 行列の要素の式になおす
𝛻𝐸 𝑾 𝑚𝑘
= 𝑦 𝑛𝑘 − 𝑡 𝑛𝑘 𝜙 𝑛𝑚
𝑁
𝑛=1
(𝑚 = 1, ⋯ , 𝑀; 𝑘 = 1, ⋯ , 𝐾)
– 「求める行列𝛻𝐸 𝑾 」の (m, k) 成分の式にする
M次ベクトルの式
スカラー
式を書き換える (2)
𝛻𝐸 𝑾 𝑚𝑘
= 𝑦 𝑛𝑘 − 𝑡 𝑛𝑘 𝜙 𝑛𝑚
𝑁
𝑛=1
• 注:右辺の添え字に未解決のものは残らない
– 左辺に現れる : m, k
– 右辺で解決 : n (総和で消える)
• 3種類の積のどれかに帰着するよう変形
– この場合、総和があるので 𝑐𝑖𝑗 = 𝑎𝑖𝑘 𝑏 𝑘𝑗𝑘 に
式を書き換える (3)
𝑨 = 𝑎 𝑛𝑘 = 𝑦 𝑛𝑘 − 𝑡 𝑛𝑘 とおくと(𝑁 × 𝐾 行列)
𝛻𝐸 𝑾 𝑚𝑘
= 𝑎 𝑛𝑘 𝜙 𝑛𝑚
𝑁
𝑛=1
= Φ 𝑇
𝑚𝑛 𝐴 𝑛𝑘
𝑁
𝑛=1
• ○mk=Σn○mn○nk の形に調整
– 右辺の内側の添え字とΣは同じ n
– 添え字の順序を逆にしたければ転置
• 𝛻𝐸 𝑾 = 𝚽 𝑇
𝑨 であることがわかる
numpyに「逐語訳」
𝛻𝒘 𝑘
𝐸 𝑾 = 𝑦 𝑛𝑘 − 𝑡 𝑛𝑘 𝝓 𝑛 (k = 1, ⋯ , 𝐾)
𝑁
𝑛=1
𝑨 = 𝒀 − 𝑻, 𝛻𝐸 𝑾 = 𝚽 𝑇
𝑨
• ここまで簡単になれば、実装は一瞬
# PHI = N×M 次元の特徴行列
# Y, T = N×K 次元の行列
gradient_E = numpy.dot(PHI.T, Y - T)
式の書き換え
R に「逐語訳」
𝛻𝒘 𝑘
𝐸 𝑾 = 𝑦 𝑛𝑘 − 𝑡 𝑛𝑘 𝝓 𝑛 (k = 1, ⋯ , 𝐾)
𝑁
𝑛=1
𝑨 = 𝒀 − 𝑻, 𝛻𝐸 𝑾 = 𝚽 𝑇
𝑨
• 同様に R での実装例:
# PHI = N×M 次元の特徴行列
# Y, T = N×K 次元の行列
gradient_E <- t(PHI) %*% (Y - T)
まとめ
• 数式から条件を読み解こう
– この段階で間違っていると、うまく行かない
– さぼらず紙と鉛筆で確認するのが一番賢い
• 「逐語訳」できる数式なら実装かんたん
– 難しい数式は「逐語訳」できる形に書き換え
– さぼらず紙と鉛筆

More Related Content

What's hot

機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)Kota Matsui
 
15分でわかる(範囲の)ベイズ統計学
15分でわかる(範囲の)ベイズ統計学15分でわかる(範囲の)ベイズ統計学
15分でわかる(範囲の)ベイズ統計学Ken'ichi Matsui
 
深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)Masahiro Suzuki
 
因果探索: 基本から最近の発展までを概説
因果探索: 基本から最近の発展までを概説因果探索: 基本から最近の発展までを概説
因果探索: 基本から最近の発展までを概説Shiga University, RIKEN
 
機械学習におけるオンライン確率的最適化の理論
機械学習におけるオンライン確率的最適化の理論機械学習におけるオンライン確率的最適化の理論
機械学習におけるオンライン確率的最適化の理論Taiji Suzuki
 
強化学習その3
強化学習その3強化学習その3
強化学習その3nishio
 
スペクトラルグラフ理論入門
スペクトラルグラフ理論入門スペクトラルグラフ理論入門
スペクトラルグラフ理論入門irrrrr
 
強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験克海 納谷
 
今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシンShinya Shimizu
 
DeepLearning 14章 自己符号化器
DeepLearning 14章 自己符号化器DeepLearning 14章 自己符号化器
DeepLearning 14章 自己符号化器hirono kawashima
 
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介T. Suwa
 
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門グラフニューラルネットワーク入門
グラフニューラルネットワーク入門ryosuke-kojima
 
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門hoxo_m
 
古典的ゲームAIを用いたAlphaGo解説
古典的ゲームAIを用いたAlphaGo解説古典的ゲームAIを用いたAlphaGo解説
古典的ゲームAIを用いたAlphaGo解説suckgeun lee
 
暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -MITSUNARI Shigeo
 
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)narumikanno0918
 
ブースティング入門
ブースティング入門ブースティング入門
ブースティング入門Retrieva inc.
 
指数時間アルゴリズム入門
指数時間アルゴリズム入門指数時間アルゴリズム入門
指数時間アルゴリズム入門Yoichi Iwata
 

What's hot (20)

機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)
 
15分でわかる(範囲の)ベイズ統計学
15分でわかる(範囲の)ベイズ統計学15分でわかる(範囲の)ベイズ統計学
15分でわかる(範囲の)ベイズ統計学
 
深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)
 
因果探索: 基本から最近の発展までを概説
因果探索: 基本から最近の発展までを概説因果探索: 基本から最近の発展までを概説
因果探索: 基本から最近の発展までを概説
 
機械学習におけるオンライン確率的最適化の理論
機械学習におけるオンライン確率的最適化の理論機械学習におけるオンライン確率的最適化の理論
機械学習におけるオンライン確率的最適化の理論
 
強化学習その3
強化学習その3強化学習その3
強化学習その3
 
スペクトラルグラフ理論入門
スペクトラルグラフ理論入門スペクトラルグラフ理論入門
スペクトラルグラフ理論入門
 
強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験
 
今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン
 
DeepLearning 14章 自己符号化器
DeepLearning 14章 自己符号化器DeepLearning 14章 自己符号化器
DeepLearning 14章 自己符号化器
 
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
 
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
 
深層強化学習と実装例
深層強化学習と実装例深層強化学習と実装例
深層強化学習と実装例
 
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門
 
グラフと木
グラフと木グラフと木
グラフと木
 
古典的ゲームAIを用いたAlphaGo解説
古典的ゲームAIを用いたAlphaGo解説古典的ゲームAIを用いたAlphaGo解説
古典的ゲームAIを用いたAlphaGo解説
 
暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -
 
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
 
ブースティング入門
ブースティング入門ブースティング入門
ブースティング入門
 
指数時間アルゴリズム入門
指数時間アルゴリズム入門指数時間アルゴリズム入門
指数時間アルゴリズム入門
 

Viewers also liked

Prml4.4 ラプラス近似~ベイズロジスティック回帰
Prml4.4 ラプラス近似~ベイズロジスティック回帰Prml4.4 ラプラス近似~ベイズロジスティック回帰
Prml4.4 ラプラス近似~ベイズロジスティック回帰Yuki Matsubara
 
多次元配列の効率的利用法の検討
多次元配列の効率的利用法の検討多次元配列の効率的利用法の検討
多次元配列の効率的利用法の検討Yu Sato
 
111015 tokyo scipy2_ディスカッション
111015 tokyo scipy2_ディスカッション111015 tokyo scipy2_ディスカッション
111015 tokyo scipy2_ディスカッションShohei Hido
 
猫に教えてもらうルベーグ可測
猫に教えてもらうルベーグ可測猫に教えてもらうルベーグ可測
猫に教えてもらうルベーグ可測Shuyo Nakatani
 
無限関係モデル (続・わかりやすいパターン認識 13章)
無限関係モデル (続・わかりやすいパターン認識 13章)無限関係モデル (続・わかりやすいパターン認識 13章)
無限関係モデル (続・わかりやすいパターン認識 13章)Shuyo Nakatani
 
Chainer Contribution Guide
Chainer Contribution GuideChainer Contribution Guide
Chainer Contribution GuideKenta Oono
 
Lighting talk chainer hands on
Lighting talk chainer hands onLighting talk chainer hands on
Lighting talk chainer hands onOgushi Masaya
 
ディープラーニングにおける学習の高速化の重要性とその手法
ディープラーニングにおける学習の高速化の重要性とその手法ディープラーニングにおける学習の高速化の重要性とその手法
ディープラーニングにおける学習の高速化の重要性とその手法Yuko Fujiyama
 
ボケるRNNを学習したい (Chainer meetup 01)
ボケるRNNを学習したい (Chainer meetup 01)ボケるRNNを学習したい (Chainer meetup 01)
ボケるRNNを学習したい (Chainer meetup 01)Motoki Sato
 
Chainer meetup lt
Chainer meetup ltChainer meetup lt
Chainer meetup ltAce12358
 
Simple perceptron by TJO
Simple perceptron by TJOSimple perceptron by TJO
Simple perceptron by TJOTakashi J OZAKI
 

Viewers also liked (15)

NumPy闇入門
NumPy闇入門NumPy闇入門
NumPy闇入門
 
CuPy解説
CuPy解説CuPy解説
CuPy解説
 
PRML 2.3
PRML 2.3PRML 2.3
PRML 2.3
 
Prml 2.3
Prml 2.3Prml 2.3
Prml 2.3
 
Prml4.4 ラプラス近似~ベイズロジスティック回帰
Prml4.4 ラプラス近似~ベイズロジスティック回帰Prml4.4 ラプラス近似~ベイズロジスティック回帰
Prml4.4 ラプラス近似~ベイズロジスティック回帰
 
多次元配列の効率的利用法の検討
多次元配列の効率的利用法の検討多次元配列の効率的利用法の検討
多次元配列の効率的利用法の検討
 
111015 tokyo scipy2_ディスカッション
111015 tokyo scipy2_ディスカッション111015 tokyo scipy2_ディスカッション
111015 tokyo scipy2_ディスカッション
 
猫に教えてもらうルベーグ可測
猫に教えてもらうルベーグ可測猫に教えてもらうルベーグ可測
猫に教えてもらうルベーグ可測
 
無限関係モデル (続・わかりやすいパターン認識 13章)
無限関係モデル (続・わかりやすいパターン認識 13章)無限関係モデル (続・わかりやすいパターン認識 13章)
無限関係モデル (続・わかりやすいパターン認識 13章)
 
Chainer Contribution Guide
Chainer Contribution GuideChainer Contribution Guide
Chainer Contribution Guide
 
Lighting talk chainer hands on
Lighting talk chainer hands onLighting talk chainer hands on
Lighting talk chainer hands on
 
ディープラーニングにおける学習の高速化の重要性とその手法
ディープラーニングにおける学習の高速化の重要性とその手法ディープラーニングにおける学習の高速化の重要性とその手法
ディープラーニングにおける学習の高速化の重要性とその手法
 
ボケるRNNを学習したい (Chainer meetup 01)
ボケるRNNを学習したい (Chainer meetup 01)ボケるRNNを学習したい (Chainer meetup 01)
ボケるRNNを学習したい (Chainer meetup 01)
 
Chainer meetup lt
Chainer meetup ltChainer meetup lt
Chainer meetup lt
 
Simple perceptron by TJO
Simple perceptron by TJOSimple perceptron by TJO
Simple perceptron by TJO
 

Similar to 数式を綺麗にプログラミングするコツ #spro2013

【Zansa】第12回勉強会 -PRMLからベイズの世界へ
【Zansa】第12回勉強会 -PRMLからベイズの世界へ【Zansa】第12回勉強会 -PRMLからベイズの世界へ
【Zansa】第12回勉強会 -PRMLからベイズの世界へZansa
 
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)Kensuke Otsuki
 
Math in Machine Learning / PCA and SVD with Applications
Math in Machine Learning / PCA and SVD with ApplicationsMath in Machine Learning / PCA and SVD with Applications
Math in Machine Learning / PCA and SVD with ApplicationsKenji Hiranabe
 
行列計算アルゴリズム
行列計算アルゴリズム行列計算アルゴリズム
行列計算アルゴリズムTakuo Tachibana
 
クリエイティブコーディングのための数学 JavaScript 入門 [三角関数と行列]
クリエイティブコーディングのための数学 JavaScript 入門 [三角関数と行列]クリエイティブコーディングのための数学 JavaScript 入門 [三角関数と行列]
クリエイティブコーディングのための数学 JavaScript 入門 [三角関数と行列]Nobuhiro Takahashi
 
線形写像を行列で表現しよう
線形写像を行列で表現しよう線形写像を行列で表現しよう
線形写像を行列で表現しようHanpenRobot
 
線形代数の視覚的理解のためのノート
線形代数の視覚的理解のためのノート線形代数の視覚的理解のためのノート
線形代数の視覚的理解のためのノートKenji Hiranabe
 
PRML第9章「混合モデルとEM」
PRML第9章「混合モデルとEM」PRML第9章「混合モデルとEM」
PRML第9章「混合モデルとEM」Keisuke Sugawara
 
Stanの紹介と応用事例(age heapingの統計モデル)
Stanの紹介と応用事例(age heapingの統計モデル)Stanの紹介と応用事例(age heapingの統計モデル)
Stanの紹介と応用事例(age heapingの統計モデル). .
 
秘密分散法の数理
秘密分散法の数理秘密分散法の数理
秘密分散法の数理Akito Tabira
 
論文紹介 Semi-supervised Learning with Deep Generative Models
論文紹介 Semi-supervised Learning with Deep Generative Models論文紹介 Semi-supervised Learning with Deep Generative Models
論文紹介 Semi-supervised Learning with Deep Generative ModelsSeiya Tokui
 
CODE FESTIVAL 2014 エキシビジョン 解説
CODE FESTIVAL 2014 エキシビジョン 解説CODE FESTIVAL 2014 エキシビジョン 解説
CODE FESTIVAL 2014 エキシビジョン 解説AtCoder Inc.
 
2015年度春学期 画像情報処理 第8回 行列の直交変換と画像情報圧縮 (2015. 6. 10)
2015年度春学期 画像情報処理 第8回 行列の直交変換と画像情報圧縮 (2015. 6. 10)2015年度春学期 画像情報処理 第8回 行列の直交変換と画像情報圧縮 (2015. 6. 10)
2015年度春学期 画像情報処理 第8回 行列の直交変換と画像情報圧縮 (2015. 6. 10)Akira Asano
 
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデルMasashi Komori
 
第9回スキル養成講座講義資料
第9回スキル養成講座講義資料第9回スキル養成講座講義資料
第9回スキル養成講座講義資料keiodig
 
数学教材(中間発表)
数学教材(中間発表)数学教材(中間発表)
数学教材(中間発表)Mizuguchi1205
 

Similar to 数式を綺麗にプログラミングするコツ #spro2013 (20)

【Zansa】第12回勉強会 -PRMLからベイズの世界へ
【Zansa】第12回勉強会 -PRMLからベイズの世界へ【Zansa】第12回勉強会 -PRMLからベイズの世界へ
【Zansa】第12回勉強会 -PRMLからベイズの世界へ
 
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
 
Math in Machine Learning / PCA and SVD with Applications
Math in Machine Learning / PCA and SVD with ApplicationsMath in Machine Learning / PCA and SVD with Applications
Math in Machine Learning / PCA and SVD with Applications
 
行列計算アルゴリズム
行列計算アルゴリズム行列計算アルゴリズム
行列計算アルゴリズム
 
Gmm勉強会
Gmm勉強会Gmm勉強会
Gmm勉強会
 
クリエイティブコーディングのための数学 JavaScript 入門 [三角関数と行列]
クリエイティブコーディングのための数学 JavaScript 入門 [三角関数と行列]クリエイティブコーディングのための数学 JavaScript 入門 [三角関数と行列]
クリエイティブコーディングのための数学 JavaScript 入門 [三角関数と行列]
 
線形写像を行列で表現しよう
線形写像を行列で表現しよう線形写像を行列で表現しよう
線形写像を行列で表現しよう
 
線形代数の視覚的理解のためのノート
線形代数の視覚的理解のためのノート線形代数の視覚的理解のためのノート
線形代数の視覚的理解のためのノート
 
PRML第9章「混合モデルとEM」
PRML第9章「混合モデルとEM」PRML第9章「混合モデルとEM」
PRML第9章「混合モデルとEM」
 
Stanの紹介と応用事例(age heapingの統計モデル)
Stanの紹介と応用事例(age heapingの統計モデル)Stanの紹介と応用事例(age heapingの統計モデル)
Stanの紹介と応用事例(age heapingの統計モデル)
 
Trianguler
TriangulerTrianguler
Trianguler
 
秘密分散法の数理
秘密分散法の数理秘密分散法の数理
秘密分散法の数理
 
Lispでやる記号微分
Lispでやる記号微分Lispでやる記号微分
Lispでやる記号微分
 
論文紹介 Semi-supervised Learning with Deep Generative Models
論文紹介 Semi-supervised Learning with Deep Generative Models論文紹介 Semi-supervised Learning with Deep Generative Models
論文紹介 Semi-supervised Learning with Deep Generative Models
 
CODE FESTIVAL 2014 エキシビジョン 解説
CODE FESTIVAL 2014 エキシビジョン 解説CODE FESTIVAL 2014 エキシビジョン 解説
CODE FESTIVAL 2014 エキシビジョン 解説
 
2015年度春学期 画像情報処理 第8回 行列の直交変換と画像情報圧縮 (2015. 6. 10)
2015年度春学期 画像情報処理 第8回 行列の直交変換と画像情報圧縮 (2015. 6. 10)2015年度春学期 画像情報処理 第8回 行列の直交変換と画像情報圧縮 (2015. 6. 10)
2015年度春学期 画像情報処理 第8回 行列の直交変換と画像情報圧縮 (2015. 6. 10)
 
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
 
第9回スキル養成講座講義資料
第9回スキル養成講座講義資料第9回スキル養成講座講義資料
第9回スキル養成講座講義資料
 
Practical topology
Practical topologyPractical topology
Practical topology
 
数学教材(中間発表)
数学教材(中間発表)数学教材(中間発表)
数学教材(中間発表)
 

More from Shuyo Nakatani

画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15Shuyo Nakatani
 
Generative adversarial networks
Generative adversarial networksGenerative adversarial networks
Generative adversarial networksShuyo Nakatani
 
Memory Networks (End-to-End Memory Networks の Chainer 実装)
Memory Networks (End-to-End Memory Networks の Chainer 実装)Memory Networks (End-to-End Memory Networks の Chainer 実装)
Memory Networks (End-to-End Memory Networks の Chainer 実装)Shuyo Nakatani
 
人工知能と機械学習の違いって?
人工知能と機械学習の違いって?人工知能と機械学習の違いって?
人工知能と機械学習の違いって?Shuyo Nakatani
 
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
RとStanでクラウドセットアップ時間を分析してみたら #TokyoRRとStanでクラウドセットアップ時間を分析してみたら #TokyoR
RとStanでクラウドセットアップ時間を分析してみたら #TokyoRShuyo Nakatani
 
ドラえもんでわかる統計的因果推論 #TokyoR
ドラえもんでわかる統計的因果推論 #TokyoRドラえもんでわかる統計的因果推論 #TokyoR
ドラえもんでわかる統計的因果推論 #TokyoRShuyo Nakatani
 
[Yang, Downey and Boyd-Graber 2015] Efficient Methods for Incorporating Knowl...
[Yang, Downey and Boyd-Graber 2015] Efficient Methods for Incorporating Knowl...[Yang, Downey and Boyd-Graber 2015] Efficient Methods for Incorporating Knowl...
[Yang, Downey and Boyd-Graber 2015] Efficient Methods for Incorporating Knowl...Shuyo Nakatani
 
星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第3章星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第3章Shuyo Nakatani
 
星野「調査観察データの統計科学」第1&2章
星野「調査観察データの統計科学」第1&2章星野「調査観察データの統計科学」第1&2章
星野「調査観察データの統計科学」第1&2章Shuyo Nakatani
 
言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyoShuyo Nakatani
 
Zipf? (ジップ則のひみつ?) #DSIRNLP
Zipf? (ジップ則のひみつ?) #DSIRNLPZipf? (ジップ則のひみつ?) #DSIRNLP
Zipf? (ジップ則のひみつ?) #DSIRNLPShuyo Nakatani
 
ACL2014 Reading: [Zhang+] "Kneser-Ney Smoothing on Expected Count" and [Pickh...
ACL2014 Reading: [Zhang+] "Kneser-Ney Smoothing on Expected Count" and [Pickh...ACL2014 Reading: [Zhang+] "Kneser-Ney Smoothing on Expected Count" and [Pickh...
ACL2014 Reading: [Zhang+] "Kneser-Ney Smoothing on Expected Count" and [Pickh...Shuyo Nakatani
 
ソーシャルメディアの多言語判定 #SoC2014
ソーシャルメディアの多言語判定 #SoC2014ソーシャルメディアの多言語判定 #SoC2014
ソーシャルメディアの多言語判定 #SoC2014Shuyo Nakatani
 
アラビア語とペルシャ語の見分け方 #DSIRNLP 5
アラビア語とペルシャ語の見分け方 #DSIRNLP 5アラビア語とペルシャ語の見分け方 #DSIRNLP 5
アラビア語とペルシャ語の見分け方 #DSIRNLP 5Shuyo Nakatani
 
どの言語でつぶやかれたのか、機械が知る方法 #WebDBf2013
どの言語でつぶやかれたのか、機械が知る方法 #WebDBf2013どの言語でつぶやかれたのか、機械が知る方法 #WebDBf2013
どの言語でつぶやかれたのか、機械が知る方法 #WebDBf2013Shuyo Nakatani
 
Active Learning 入門
Active Learning 入門Active Learning 入門
Active Learning 入門Shuyo Nakatani
 
ノンパラベイズ入門の入門
ノンパラベイズ入門の入門ノンパラベイズ入門の入門
ノンパラベイズ入門の入門Shuyo Nakatani
 
[Kim+ ICML2012] Dirichlet Process with Mixed Random Measures : A Nonparametri...
[Kim+ ICML2012] Dirichlet Process with Mixed Random Measures : A Nonparametri...[Kim+ ICML2012] Dirichlet Process with Mixed Random Measures : A Nonparametri...
[Kim+ ICML2012] Dirichlet Process with Mixed Random Measures : A Nonparametri...Shuyo Nakatani
 
Short Text Language Detection with Infinity-Gram
Short Text Language Detection with Infinity-GramShort Text Language Detection with Infinity-Gram
Short Text Language Detection with Infinity-GramShuyo Nakatani
 
[Karger+ NIPS11] Iterative Learning for Reliable Crowdsourcing Systems
[Karger+ NIPS11] Iterative Learning for Reliable Crowdsourcing Systems[Karger+ NIPS11] Iterative Learning for Reliable Crowdsourcing Systems
[Karger+ NIPS11] Iterative Learning for Reliable Crowdsourcing SystemsShuyo Nakatani
 

More from Shuyo Nakatani (20)

画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
 
Generative adversarial networks
Generative adversarial networksGenerative adversarial networks
Generative adversarial networks
 
Memory Networks (End-to-End Memory Networks の Chainer 実装)
Memory Networks (End-to-End Memory Networks の Chainer 実装)Memory Networks (End-to-End Memory Networks の Chainer 実装)
Memory Networks (End-to-End Memory Networks の Chainer 実装)
 
人工知能と機械学習の違いって?
人工知能と機械学習の違いって?人工知能と機械学習の違いって?
人工知能と機械学習の違いって?
 
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
RとStanでクラウドセットアップ時間を分析してみたら #TokyoRRとStanでクラウドセットアップ時間を分析してみたら #TokyoR
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
 
ドラえもんでわかる統計的因果推論 #TokyoR
ドラえもんでわかる統計的因果推論 #TokyoRドラえもんでわかる統計的因果推論 #TokyoR
ドラえもんでわかる統計的因果推論 #TokyoR
 
[Yang, Downey and Boyd-Graber 2015] Efficient Methods for Incorporating Knowl...
[Yang, Downey and Boyd-Graber 2015] Efficient Methods for Incorporating Knowl...[Yang, Downey and Boyd-Graber 2015] Efficient Methods for Incorporating Knowl...
[Yang, Downey and Boyd-Graber 2015] Efficient Methods for Incorporating Knowl...
 
星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第3章星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第3章
 
星野「調査観察データの統計科学」第1&2章
星野「調査観察データの統計科学」第1&2章星野「調査観察データの統計科学」第1&2章
星野「調査観察データの統計科学」第1&2章
 
言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo
 
Zipf? (ジップ則のひみつ?) #DSIRNLP
Zipf? (ジップ則のひみつ?) #DSIRNLPZipf? (ジップ則のひみつ?) #DSIRNLP
Zipf? (ジップ則のひみつ?) #DSIRNLP
 
ACL2014 Reading: [Zhang+] "Kneser-Ney Smoothing on Expected Count" and [Pickh...
ACL2014 Reading: [Zhang+] "Kneser-Ney Smoothing on Expected Count" and [Pickh...ACL2014 Reading: [Zhang+] "Kneser-Ney Smoothing on Expected Count" and [Pickh...
ACL2014 Reading: [Zhang+] "Kneser-Ney Smoothing on Expected Count" and [Pickh...
 
ソーシャルメディアの多言語判定 #SoC2014
ソーシャルメディアの多言語判定 #SoC2014ソーシャルメディアの多言語判定 #SoC2014
ソーシャルメディアの多言語判定 #SoC2014
 
アラビア語とペルシャ語の見分け方 #DSIRNLP 5
アラビア語とペルシャ語の見分け方 #DSIRNLP 5アラビア語とペルシャ語の見分け方 #DSIRNLP 5
アラビア語とペルシャ語の見分け方 #DSIRNLP 5
 
どの言語でつぶやかれたのか、機械が知る方法 #WebDBf2013
どの言語でつぶやかれたのか、機械が知る方法 #WebDBf2013どの言語でつぶやかれたのか、機械が知る方法 #WebDBf2013
どの言語でつぶやかれたのか、機械が知る方法 #WebDBf2013
 
Active Learning 入門
Active Learning 入門Active Learning 入門
Active Learning 入門
 
ノンパラベイズ入門の入門
ノンパラベイズ入門の入門ノンパラベイズ入門の入門
ノンパラベイズ入門の入門
 
[Kim+ ICML2012] Dirichlet Process with Mixed Random Measures : A Nonparametri...
[Kim+ ICML2012] Dirichlet Process with Mixed Random Measures : A Nonparametri...[Kim+ ICML2012] Dirichlet Process with Mixed Random Measures : A Nonparametri...
[Kim+ ICML2012] Dirichlet Process with Mixed Random Measures : A Nonparametri...
 
Short Text Language Detection with Infinity-Gram
Short Text Language Detection with Infinity-GramShort Text Language Detection with Infinity-Gram
Short Text Language Detection with Infinity-Gram
 
[Karger+ NIPS11] Iterative Learning for Reliable Crowdsourcing Systems
[Karger+ NIPS11] Iterative Learning for Reliable Crowdsourcing Systems[Karger+ NIPS11] Iterative Learning for Reliable Crowdsourcing Systems
[Karger+ NIPS11] Iterative Learning for Reliable Crowdsourcing Systems
 

Recently uploaded

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 

Recently uploaded (9)

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 

数式を綺麗にプログラミングするコツ #spro2013