SlideShare a Scribd company logo
1 of 21
Download to read offline
High-order	factorization	machines	with	R
Twitter:	@siero5335
20170520:	Tokyo.R 61@Recruit
1 2 3 4
u1 NA 4 2 NA
u2 3 NA 1 NA
u3 NA 5 NA 5
x1 x2 x3 x4 x5 x6 x7
1 2 3 4 Y
J.	Knoll,	Recommending	with	Higher-Order	Factorization	Machines:	
Research	and	Development	in	Intelligent	Systems	XXXIII,	2016.	pp 103-116
https://link.springer.com/chapter/10.1007/978-3-319-47175-4_7
https://cran.r-project.org/web/packages/FactoRizationMachines/index.html
High-order	factorization	machines	with	R
Factorization	machines?
1 2 3 4
u1 NA 4 2 NA
u2 3 NA 1 NA
u3 NA 5 NA 5
x1 x2 x3 x4 x5 x6 x7
1 2 3 4 Y
ユーザと商品それぞれに列を⽤意するので
交互作⽤が計算できるのが良いところ
Factorization	machines?
購⼊記録からの推薦などにおいて広く利⽤
回帰, 判別いずれにも対応
スパースなデータセットに強い
切⽚, 線形重み付け, 2次の交互作⽤の組み合わせで予測
2次の交互作⽤項切⽚ 重み
High-order	factorizations	?	3-way
購⼊記録からの推薦などにおいて広く利⽤
回帰, 判別いずれにも対応
スパースなデータセットに強い
切⽚, 線形重み付け, 3次の交互作⽤の組み合わせで予測
2次の交互作⽤項
3次の交互作⽤項
High-order	factorizations	?	
購⼊記録からの推薦などにおいて広く利⽤
回帰, 判別いずれにも対応
スパースなデータセットに強い
切⽚, 線形重み付け, ⾼次の交互作⽤の組み合わせで予測
⾼次の交互作⽤項
Factorization	machines	with	R
Factorization	machines	with	r:
https://www.slideshare.net/shotayasui/factorization-machines-with-r
libFMexeを動かすまで:	
http://qiita.com/siero5335/items/8a8eb8de8633041d865a#_reference-283face5098f5fc19bd1
Factorization	Machinesのおはなし。:	
http://www.housecat442.com/?p=676
Factorization	machines	with	r:
https://www.slideshare.net/shotayasui/factorization-machines-with-r
libFMexeを動かすまで:	
http://qiita.com/siero5335/items/8a8eb8de8633041d865a#_reference-283face5098f5fc19bd1
Factorization	Machinesのおはなし。:	
http://www.housecat442.com/?p=676
devtools::install_github("andland/libFMexe")
広く使われているlibFMのwrapper
Factorization	machines	with	R
Factorization	machines	with	r:
https://www.slideshare.net/shotayasui/factorization-machines-with-r
libFMexeを動かすまで:	
http://qiita.com/siero5335/items/8a8eb8de8633041d865a#_reference-283face5098f5fc19bd1
Factorization	Machinesのおはなし。:	
http://www.housecat442.com/?p=676
devtools::install_github("andland/libFMexe")
広く使われているlibFMのwrapper
libFMのパスを指定するのが⾯倒だしRそのまま使いたい
High-order未対応
Factorization	machines	with	R
J.	Knoll,	Recommending	with	Higher-Order	Factorization	Machines:	
Research	and	Development	in	Intelligent	Systems	XXXIII,	2016.	pp 103-116
https://link.springer.com/chapter/10.1007/978-3-319-47175-4_7
High-order	factorization	machines	with	R
https://cran.r-project.org/web/packages/FactoRizationMachines/index.html
https://cran.r-project.org/web/packages/FactoRizationMachines/index.html
今は回帰だけだがそのうち分類にも対応する予定らしい
High-order	factorization	machines	with	R
SVM.train()
FM.train
HoFM.train()
(x,	y,	factors	=	1,	intercept	=	T,	iter =	100,	
regular	=	0,	stdev =	0.1)
x:	dgTMatrix,	matrix,		data.frameいずれかの⽬的変数を除いたデータ
y:	⽬的変数(今は回帰のみ)
factors:	svmなら0	or	1,	FMなら c(0,	10)のように2つ,	HoFMならc(0,	10,	5)のように3つ指定
c()の左から線形重み付けする (1)	か否 (0)	か,	2~n次のfactorizeをするパラメータ数
intercept:	切⽚項を⼊れるかどうか
iter:	iterationの回数
regular:	線形の項における正則化の度合い
FM,	HoFMの場合は複数の値を⼊れることができる
1つだけの場合はこの値で全体を正則化
複数なら1つめが線形項,	それ以降が⾼次係数項についての正則化値になる
stdev:	SDを使ってモデルのパラメータを初期化
High-order	factorization	machines	with	R
Ml100k: 映画の評価点に関係するデータ
matrixパッケージでスパースな形に変更
説明変数: userID, items(映画タイトル),
wdays (公開からの⽇にち)
⽬的変数: 評価点
High-order	factorization	machines	with	R
⽇時
x1 x2 x3 x4 x5 x6 x7
1 2 3 Y
ユーザ 映画 レート
ユーザ*映画*⽇時の交互作⽤を
予測に組み込むことができる
High-order	factorization	machines	with	R
トレーニング, テストセットに分割
High-order	factorization	machines	with	R
試し切りとしてSVM.trainを使う
RMSEは関数の組み合わせで普通に計算
トレーニング, テストセットを可視化
High-order	factorization	machines	with	R
RMSE	=	0.9430634
赤:	test,	緑:	training
High-order	factorization	machines	with	R
HoFM.trainを使う
正則化はつけておくがfactorについてはdefault
(defaultのfactorはc(1,	10,	5)の設定)
High-order	factorization	machines	with	R
RMSE	=	0.9155181
赤:	test,	緑:	training
High-order	factorization	machines	with	R
References
Factorization	Machines
https://www.ismll.uni-hildesheim.de/pub/pdfs/Rendle2010FM.pdf
J.	Knoll,	Recommending	with	Higher-Order	Factorization	Machines:	
Research	and	Development	in	Intelligent	Systems	XXXIII,	2016.	pp 103-116
https://link.springer.com/chapter/10.1007/978-3-319-47175-4_7
Blondel et	al.,	Higher-Order	Factorization	Machines:
https://arxiv.org/abs/1607.07195
Factorization	Machinesについて調べてみた:
http://qiita.com/wwacky/items/b402a1f3770bee2dd13c
Factorization	machines	with	r:
https://www.slideshare.net/shotayasui/factorization-machines-with-r
libFMexeを動かすまで:
http://qiita.com/siero5335/items/8a8eb8de8633041d865a#_reference-283face5098f5fc19bd1
Factorization	Machinesのおはなし。:	
http://www.housecat442.com/?p=676
Higher-Order	Factorization	Machinesを聞いてきた!:
http://blog.goo.ne.jp/xmldtp/e/faec17b2a409316f3aba6159d5477957
Enjoy	!

More Related Content

More from Akifumi Eguchi

ぞくパタ最終回: 13章「共クラスタリング」
ぞくパタ最終回: 13章「共クラスタリング」ぞくパタ最終回: 13章「共クラスタリング」
ぞくパタ最終回: 13章「共クラスタリング」Akifumi Eguchi
 
Deep learningもくもくハッカソンまとめup用
Deep learningもくもくハッカソンまとめup用Deep learningもくもくハッカソンまとめup用
Deep learningもくもくハッカソンまとめup用Akifumi Eguchi
 
Tokyo webmining 43 "化学物質汚染のデータ解析・リスク評価についての私見"
Tokyo webmining 43 "化学物質汚染のデータ解析・リスク評価についての私見"Tokyo webmining 43 "化学物質汚染のデータ解析・リスク評価についての私見"
Tokyo webmining 43 "化学物質汚染のデータ解析・リスク評価についての私見"Akifumi Eguchi
 
第2回ぞくパタ
第2回ぞくパタ第2回ぞくパタ
第2回ぞくパタAkifumi Eguchi
 
第一回ぞくパタ
第一回ぞくパタ第一回ぞくパタ
第一回ぞくパタAkifumi Eguchi
 
ぞくパタ はじめに
ぞくパタ はじめにぞくパタ はじめに
ぞくパタ はじめにAkifumi Eguchi
 
みどりぼん9章前半
みどりぼん9章前半みどりぼん9章前半
みどりぼん9章前半Akifumi Eguchi
 
みどりぼん3章前半
みどりぼん3章前半みどりぼん3章前半
みどりぼん3章前半Akifumi Eguchi
 

More from Akifumi Eguchi (11)

ぞくパタ最終回: 13章「共クラスタリング」
ぞくパタ最終回: 13章「共クラスタリング」ぞくパタ最終回: 13章「共クラスタリング」
ぞくパタ最終回: 13章「共クラスタリング」
 
Deep learningもくもくハッカソンまとめup用
Deep learningもくもくハッカソンまとめup用Deep learningもくもくハッカソンまとめup用
Deep learningもくもくハッカソンまとめup用
 
Tokyo webmining 43 "化学物質汚染のデータ解析・リスク評価についての私見"
Tokyo webmining 43 "化学物質汚染のデータ解析・リスク評価についての私見"Tokyo webmining 43 "化学物質汚染のデータ解析・リスク評価についての私見"
Tokyo webmining 43 "化学物質汚染のデータ解析・リスク評価についての私見"
 
第2回ぞくパタ
第2回ぞくパタ第2回ぞくパタ
第2回ぞくパタ
 
第一回ぞくパタ
第一回ぞくパタ第一回ぞくパタ
第一回ぞくパタ
 
ぞくパタ はじめに
ぞくパタ はじめにぞくパタ はじめに
ぞくパタ はじめに
 
Tokyo.r #44 lt.pptx
Tokyo.r #44 lt.pptxTokyo.r #44 lt.pptx
Tokyo.r #44 lt.pptx
 
Tokyo r #43
Tokyo r #43Tokyo r #43
Tokyo r #43
 
みどりぼん9章前半
みどりぼん9章前半みどりぼん9章前半
みどりぼん9章前半
 
みどりぼん3章前半
みどりぼん3章前半みどりぼん3章前半
みどりぼん3章前半
 
Tokyo R #39
Tokyo R #39Tokyo R #39
Tokyo R #39
 

High-order factorization machines with R #tokyor 61