ãã¤ãºæ··åã¢ãã«ã«ãããè¿ä¼¼æ¨è«â¢ ï½å´©å£åã®ãã¹ãµã³ããªã³ã°ï½
 ãã¦ãä»åã¯æ··åã¢ãã«ã«å¯¾ããå¹ççãªå¦ç¿ã¢ã«ã´ãªãºã ã¨ãã¦ãå´©å£åã®ãã¹ãµã³ããªã³ã°ï¼Collapsed Gibbs Samplingï¼*1ãç´¹ä»ãã¾ãããã¼ã¹ã¨ãªãã¢ã¤ãã¢èªä½ã¯ã®ãã¹ãµã³ããªã³ã°ãã®ãã®ãªã®ã§ãããæ¨æºçãªæ¹æ³ã¨æ¯ã¹ã¦ç¨®ã ã®è¨ç®ãã¯ããã¯ãå¿ è¦ã«ãªã£ã¦ããã®ã¨ãå®éã«æ¨è«ç²¾åº¦ãåä¸ãããã¨ãå¤ãã®ã§ããã§ç´¹ä»ãããã¨æãã¾ããÂ
ã¾ããä»åã®å®é¨ã§ä½¿ç¨ããã½ã¼ã¹ã³ã¼ãã¯Githubã«ããã¦ããã¾ãã
GitHub - sammy-suyama/MLBlog: source codes used in MLBlog
Â
[å¿ è¦ãªç¥è]
ä¸è¨ãããã£ã¨ã ã確èªãã¦ããã¨ããã§ãã
- ãã¢ã½ã³æ··åã¢ãã«ã«ãããã®ãã¹ãµã³ããªã³ã°
- ãã¤ãºæ¨è«
- ã«ãã´ãªã«ã«åå¸Â
Â
ï¼ãå´©å£åã®ãã¹ãµã³ããªã³ã°ã®ã¢ã¤ãã¢
åºæ¬çãªã¢ã¤ãã¢ã¨ãã¦ã¯ã対象ã®ç¢ºçã¢ãã«ï¼åæåå¸ï¼ããä¸é¨ã®ç¢ºç夿°ããããããå¨è¾ºåé¤å»ï¼marginalise outï¼ãã¦ãããããæ°ã®å°ãªã確ç夿°ããµã³ãã«ãããã¨ã«ãã£ã¦ãµã³ããªã³ã°ã®å¹çæ§ãé«ãããã¨ãããã®ã§ã*2ã
ããã§ã¯ãå´©å£åã®ãã¹ãµã³ããªã³ã°ã®ä½ç½®ä»ããæç¢ºããããã«ãããã¤ãã®ç°ãªãã®ãã¹ãµã³ããªã³ã°ã®ææ³ãæ¯è¼ç´¹ä»ãã¾ãã
ãã確çåå¸ãããããã®åå¸ãã
,
,
ããã¹ã¦åæã«ãµã³ãã«ããã®ãä¸å¯è½ã§ããã¨ãã¾ãããããã®æ§ãªåé¡ã«å¯¾ãã¦ãä¸è¬çãªã®ãã¹ãµã³ããªã³ã°ã¯æ¬¡ã®ããã«ç¢ºç夿°ãï¼ã¤ï¼ã¤å¥ã
ã«ãµã³ããªã³ã°ããã¨ãã使¦ãåãã¾ãã
ããã¯ãç´æ¥åæã«ãµã³ãã«ããã®ãé£ããã®ã§ããã°ãä»ã®å¤ãåºå®ããããç°¡æãªæ¡ä»¶ä»ãåå¸ããé æ¬¡ãµã³ãã«ããã°ãããã¨ããã¢ã¤ãã¢ãªã®ã§ãããã
次ã«ãããããã³ã°ã®ãã¹ãµã³ããªã³ã°ï¼blocking Gibbs samplingï¼ã¨ããã®ãããããã®å ´åã¯ããã¤ãã®å¤æ°ãã¾ã¨ãã¦ãµã³ããªã³ã°ãã¾ãã
ããã¹ã¦åæã«ãµã³ãã«ããã®ã¯é£ãããã,
ã®åæåå¸ãªãç°¡åã«è¨ç®ã§ãããã¨ãããããªå ´åã§ã¯ãã¡ãã使ã£ãæ¹ãæç¶æ§è½ãè¯ãã§ãã
ãã¦ãæ¬é¡ã®å´©å£åã®ãã¹ãµã³ããªã³ã°ã§ã¯ä¸è¨2ã¤ã®ææ³ã¨ã¯ç°ãªã使¦ãåãã¾ãããã®ææ³ã§ã¯ãã¢ãã«ä¸ã®ããã¤ãã®å¤æ°ãå¨è¾ºåé¤å»ãããã¨ã«ãã£ã¦ãããå°ãªãæ°ã®å¤æ°ã ãããµã³ãã«ãã¾ããï¼Collapsed spaceã§ãµã³ãã«ãããã¨å¼ã¶ããã§ããï¼
æåã®ã«å¯¾ããç©åé¤å»ãè§£æçã«åºæ¥ããã¨ã¨ãããã«ãã£ã¦å¾ãããåæåå¸
ããã®äº¤äºãµã³ããªã³ã°ãç°¡åã«è¡ãããã¨ãé©ç¨ã§ããæ¡ä»¶ã§ããåç´ãªã®ãã¹ãµã³ããªã³ã°ã¨æ¯ã¹ã¦ããããããµã³ãã«ãã夿°ã®ç¨®é¡ãå°ãªãã®ã§ãããéãç®çã®åå¸ããã®ãµã³ããªã³ã°ãå¾ããããã¨ãæå¾
ã§ãã¾ãã
ä¸è¬çã«ã¯ããããã³ã°ã®ãã¹ãµã³ããªã³ã°ãå´©å£åã®ãã¹ãµã³ããªã³ã°ã®æ¹ããåç´ãªã®ãã¹ãµã³ããªã³ã°ããæ§è½ãè¯ãå¾åã«ããã¾ãããããåç´ã®ãã¹ãµã³ããªã°ã®æ¹ã1åãããã®è¨ç®ã軽ãã®ã§ãåé¡ã«ãã£ã¦ã¯ããæ©ãææã®çµæãå¾ãããå ´åãããã¾ããå®ç¨ä¸ã§ã¯ãã¾ãæåã®ï¼ã¤ã®ææ³ãæ¤è¨ãã¦ã¿ã¦ãããã§ã精度ãã¤ãã¤ãã ã£ãå ´åã«ã¯å´©å£åã®ãã¹ãµã³ããªã³ã°ã試ãã¦ã¿ãã®ããªã¹ã¹ã¡ã§ãã*3
Â
ï¼ãæ··åã¢ãã«ãããã©ã¡ã¼ã¿ãå¨è¾ºåé¤å»
ã¾ãã¯æ¨æºçãªæ··åã¢ãã«ãèãã¦ã¿ã¾ããããããã§ã¯ã
åã®è¦³æ¸¬ãã¼ã¿ã®éåã
ãåãã¼ã¿ã«å¯¾ããé ã夿°ã®éåã
ã
ã®åå¸ãå¶å¾¡ãããã©ã¡ã¼ã¿ã
ãé ã夿°ã®åå¸ã«å¯¾ãããã©ã¡ã¼ã¿ã§ãã
ããã©ã¡ã¼ã¿ã«å¯¾ããäºååå¸ã§ããä¸è¬çã«æ··åã¢ãã«ã§ã¯ã
ã¯ã«ãã´ãªã«ã«åå¸ã使ãã¾ãã
ã¯
ã®çºçãã¢ãã«åããããã®ç¢ºçåå¸ã§ãããä»åã¯ä¾ã¨ãã¦ãã¢ã½ã³åå¸ã使ãã¾ãããç¨é次第ã§ã¯ã¬ã¦ã¹åå¸ã§ãå¤é
åå¸ã§ãæ§ãã¾ããã
ãã¦ããã®å¼ã«å¯¾ããã°ã©ãã£ã«ã«ã¢ãã«ãæ¬¡ã®æ§ã«è¡¨ç¾ãã¦ã¿ããã¨ã«ãã¾ãã
æ··åã¢ãã«ã«å¯¾ããå´©å£åã®ãã¹ãµã³ããªã³ã°ã§ã¯ããã©ã¡ã¼ã¿ãã¢ãã«ãããããããå¨è¾ºåé¤å»ããã®ãä¸è¬çãªããæ¹ã§ãã
ãããªæãã«ç©åé¤å»ããã¨ã対å¿ããã°ã©ãã£ã«ã«ã¢ãã«ã¯æ¬¡ã®ããã«ãªãã¾ããä¸å¿ãããããã§ã¯å¨è¾ºåã¢ãã«ã£ã¦å¼ã¶ãã¨ã«ãã¾ãã
å½ç¶ãç©åé¤å»ãããã
ã¯ãã¯ãå¨è¾ºåã¢ãã«ã«ã¯ç¾ãã¾ããããããããã®ãããã§ã¢ãã«ãç°¡åã«ãªã£ããã¨ããã¨ããã§ããªãããã§ãããé ã夿°
ã¯å
ã®ã¢ãã«ã§ã¯ï¼
ãä¸ããããã¨ãï¼ç¬ç«æ§ãä¿ã£ã¦ãããã®ã
ãç©åé¤å»ãããé端ã«ãã¹ã¦ã®é ã夿°ãä¾åé¢ä¿ãæã¤ããã«ãªã£ã¦ãã¾ãã¾ãããåæ§ã«ã
ã
ãç©åé¤å»ãããããã«ããã¹ã¦ã®ãã¼ã¿ç¹ããäºãã«ä¾åããããã«ãªã£ã¦ãã¾ãã¾ãã*4 ããã®ãããªã¢ãã«ãã
ããµã³ããªã³ã°ããè¨ç®å¼ãå°ãã®ãç®æ¨ã«ãªãã¾ãã
Â
ï¼ãå¨è¾ºåã¢ãã«ããã®ãµã³ããªã³ã°
ãã¦ãå¨è¾ºåã¢ãã«ã¯é常ã«ã¿ã¤ããªå¤æ°ä¾åé¢ä¿ãæã£ã¦ãã¾ã£ã¦ãã¾ã£ã¦ããã®ã§ããä¸åº¦ã«åæã«ãµã³ãã«ãããã¨ã¯ã§ãã¾ãããããã
ã
,ã»ã»ã»ã
ã®ããã«ãï¼ã¤ãã¤ãµã³ãã«ãããã¨ãå¯è½ã§ããå ´åãããã¾ãããã
ãã
以å¤ã®ãµã³ãã«
ããã§ã«ä¸ããããç¶æ
ã§ãµã³ãã«ã§ããªããèãã¦ã¿ããã¨ã«ãã¾ãããã®æ¡ä»¶ä»ãåå¸ã¯æ¬¡ã®ããã«è¨ç®ãããã¨ãåºæ¥ã¾ãã
1è¡ç®ã§ã¯ããã åã«ãã¤ãºã®å®çã®åæ¯ãç¡è¦ãããã®ã§äºå¾åå¸ãæ¸ãç´ããã ãã§ãã2è¡ç®ã§ã¯ããããã©ãã©ã«å±éãã¾ãããçãä¸ã®é
ã¯ãé¤ããã°ã©ãã£ã«ã«ã¢ãã«ãèããã°ãç¬ç«æ§ããã
ã§ãããã¨ã示ãããããçµæä»ãµã³ãã«ãããã¨ã¯ç¡é¢ä¿ã«ãªãã®ã§3è¡ç®ã§ã¯é¤å»ããã¦ãã¾ãã
ãã¦ãåºæ¥ä¸ãã£ãæå¾ã®å¼ãããè¦ã¦ã¿ãã¨ãç®çã®ç¢ºçåå¸ãã¨
ã®ï¼ã¤ã®åå¸ã«åè§£ããããã¨ããããã¾ããããããã®ç¢ºçåå¸ã¯ã©ãããæå³ãæã£ã¦ããã®ã§ããããã
ã¾ãå§ãã«ã§ãããæ¬¡ã®ãããª
ã«é¢ãããã種ã®äºæ¸¬åå¸ã§ããã¨è§£éãããã¨ãã§ãã¾ãã
ã¾ãããã§ã«ãµã³ãã«ããã¦ããã¨ä»®å®ãã¦ããã観測ãã¼ã¿ãã®ããã«æ±ããã¨ã§ã
ã®ãã種ã®äºå¾åå¸ã®ãããªãã®
ãè¨ç®ã§ãã¾ãããã®äºå¾åå¸ã¯ãæ¬¡ã®æ§ã«ãã¤ãºã®å®çã使ã£ã¦ç°¡åã«è¨ç®ãããã¨ãã§ãã¾ãã
ä»åã¯ã¯ã«ãã´ãªã«ã«åå¸ã§ã
ã¯ãã£ãªã¯ã¬åå¸ã§ãããããã£ã¦ã次ã®ãããªãã£ãªã¯ã¬åå¸äºå¾åå¸ãæ±ã¾ãã¾ãã
ãã¦ããã®ã«é¢ããäºå¾åå¸ã使ã£ã¦äºæ¸¬åå¸ãè¨ç®ãã¦ã¿ããã¨ã«ãã¾ããçµå±ãæéã·ã³ãã«ã®é¢æ£åå¸ã§ãããã¨ããããã®ã§ãçµæã¯ã«ãã´ãªã«ã«åå¸ã¨ãã¦è¡¨ç¾ãããã¨ãã§ãã¾ãã
åæ§ã«ãã¦ãæ®ãã®é
ãæ¬¡ã®æ§ã«
ã«é¢ããï¼
ã®æ¡ä»¶ä»ãï¼äºæ¸¬åå¸ã«ãªããã¨ããããã¾ãã
次ã®ã»ã¯ã·ã§ã³ã§è§£èª¬ãã¾ããããã¢ã½ã³ã»ã¬ã³ãã¢ãã«ã§ã¯ãã®ç©åã¯è§£æçã«å®è¡ã§ãã¾ãã*5
ã¨ããã§ã¯å®éã«ã¯ãã¼ã¿ã¨ãã¦ä¸ãããã¦ããã®ã§ãããæ£ç¢ºã«è¨ãã¨ãã®é
ã¯äºæ¸¬å°¤åº¦ã¨ã§ãè¨ã£ãæ¹ãæ£ããããããã¾ãããèå¿ãªç¹ã¯ãå
·ä½çãª
ãä¸ãããã¨ã«ãã£ã¦ãã®å°¤åº¦ãè©ä¾¡ã§ããã¨ããç¹ã§ãã
ã«å¯¾ãã
種é¡ã®å®ç¾å¤ï¼ã¤ï¼ã¤ã«å¯¾ãã¦å¼
ãè©ä¾¡ããæ£è¦åãã¦ãããã°ã
ããµã³ãã«ããããã®é¢æ£åå¸ãè¨ç®ã§ãããã¨ã«ãªãã¾ãã
Â
ï¼ããã¢ã½ã³ã»ã¬ã³ãã¢ãã«ã«ããããã¤ãºæ¨è«
ãã¦ãããã¾ã§ã§å´©å£åã®ãã¹ãµã³ããªã³ã°ã®èª¬æã¯ã»ã¼çµãããªã®ã§ãããæ®ããã課é¡ã¯æ¬¡ã®æ¡ä»¶ä»ãäºæ¸¬å°¤åº¦ã®è¨ç®ã§ããã
å
ã»ã©ã¨åæ§ãæé ã¨ãã¦ã¯ã¾ãå³å´ã®äºå¾åå¸ãè¨ç®ãããã®å¾ã§å°¤åº¦é¢æ°
ã¨æãåããã¦ãã
ãç©åé¤å»ãã¾ãã
ã¾ãäºå¾åå¸ã®è¨ç®ãããã£ã¦ã¿ã¾ããããä»åã¯æ¬¡å
ã®ãã¢ã½ã³ã»ã¬ã³ãã¢ãã«ãä»®å®ãã¦ããã®ã§
ã¯ãã¢ã½ã³åå¸ã®ãã©ã¡ã¼ã¿
ã«ãªãã¾ãããã¡ãããã¤ãºã®å®çã使ãã¨ã
ã¨ãã¦è¨ç®ããããã¨ãã§ããäºå¾åå¸ã¯å½ç¶ã¬ã³ãåå¸ã«ãªãã¾ãã
ãã¦ããã®äºå¾åå¸ã使ã£ã¦äºæ¸¬åå¸ãè¨ç®ãã¦ã¿ã¾ãããã幸ãäºå¾åå¸ãã¬ã³ãåå¸ã®ã¾ã¾ãªã®ã§ããã®ã¾ã¾è§£æçã«ãã©ã¡ã¼ã¿ãç©åé¤å»ãããã¨ãã§ããå¾ãããåå¸ã¯æ¬¡ã®ãããªè² ã®äºé
åå¸ï¼Negative Binomial Distributionï¼ã«ãªãã¾ãã
ããã§ã¯ãè² ã®äºé åå¸ã®å®ç¾©ã¨ãã¦æ¬¡ã®ãããªè¡¨ç¾ã使ãã¾ããã
æ··åã¢ãã«ã«ããã¦å´©å£åã®ãã¹ãµã³ããªã³ã°ãé©ç¨ã§ããæ¡ä»¶ã¨ãã¦ã¯ã観測ã¢ãã«ã®äºå¾åå¸ã¨äºæ¸¬åå¸ãã¨ãã«è§£æçã«å®è¡ã§ãããã¨ã§ããä»åã®ãããªãã¢ã½ã³ã»ã¬ã³ãã¢ãã«ä»¥å¤ã§ããå ±å½¹ã®é¢ä¿ã«ããåå¸ãé¸ã¹ã°ããã¯å¿ ãå®è¡ã§ãã¾ãã Â
Â
5ãåä½ç¢ºèªå®é¨
ãã¦ãä»åå°ãããã¢ã½ã³æ··åã¢ãã«ã«ãããå´©å£åã®ãã¹ãµã³ããªã³ã°ã¢ã«ã´ãªãºã ãJuliaã§å®è£ ããåä½ç¢ºèªããã¦ã¿ã¾ããã½ã¼ã¹ã³ã¼ãã¯Githubã«ããã¾ãã
観測ãã¼ã¿æ°Nï¼ï¼ï¼ï¼ï¼ãæ¬¡å æ°Dï¼ï¼ãã¯ã©ã¹ã¿æ°Kï¼ï¼ã¨ãã¦æ··åã¢ãã«ãå¦ç¿ããã¦ã¿ã¾ãããæ¬¡ã®å³ã¯ï¼ï¼ï¼åã¾ã§ã®ãµã³ãã«çµæãã¢ãã¡ã¼ã·ã§ã³ã«ãã¦ãã¾ããÂ
å·¦ä¸ã®æ¹ã®ã¯ã©ã¹ã¿ã¯ããªãå¯éãã¦ãã¾ããããªãã¨ããã¾ãåé¢ã§ãã¦ããããã«è¦ãã¾ãããå³å³ã§ãµã³ãã«åæ°ãï¼ï¼åãè¶ ãã¦ãã¾ã ãã¿ãã¿ãã¦ããç®æãããã¾ããããããã®ãã¼ã¿ç¹ã¯ã¯ã©ã¹ã®æå±ããããã¾ããã§ãããã¨ã示ãã¦ãã¾ãã
Â
ãã¦ããã£ããã§ãã®ã§ååå°åºããæ¨æºçãªã®ãã¹ãµã³ããªã³ã°ã¨ç°¡åãªæ§è½æ¯è¼ããã¦ã¿ã¾ããä¸ã®å³ã¯æ¨ªè»¸ããµã³ãã«åæ°ã縦軸ãæå¾ã®ãµã³ãã«ã«å¯¾ãã尤度ã«ãã¦ã°ã©ããæãããã®ã§ã*6ãGSï¼ã®ãã¹ãµã³ããªã³ã°ï¼ãCollapsedï¼å´©å£åã®ãã¹ãµã³ããªã³ã°ï¼ã¨ãã«ï¼åãã¤å®é¨ãã¦ãã¾ãã
å¾åã¨ãã¦ãå´©å£åã®ãã¹ãµã³ããªã³ã°ã®æ¹ãå°ãªãç¹°ãè¿ãåæ°ã§ãããé«ã尤度ã«éãã¦ããããã§ãããæçµçãªå°éç¹ãå´©å£åã®ãã¹ãµã³ããªã³ã°ã®æ¹ãé«ãå¾åãããã¾ãã
ã¡ãªã¿ã«è¨ç®æéã§æ¯è¼ããã¨ãï¼ï¼ï¼åã®ãµã³ããªã³ã°ã§ã®ãã¹ãµã³ããªã³ã°ãå¹³å7.03ç§ãå´©å£åã®ãã¹ãµã³ããªã³ã°ãå¹³å7.15ç§ã¨ããã¾ãå·®ããªãããã§ãã ä¸è¬çã«ã¯ãå´©å£åã®ãã¹ãµã³ããªã³ã°ã«ãããäºæ¸¬å°¤åº¦ã®è¨ç®ãé ããªãå¯è½æ§ãããã¾ãããä»åã®å ´åã¯ç¹ã«ããã«ããã¯ã«ã¯ãªã£ã¦ããªãããã§ãã
Â
6ãã¾ã¨ã
ãã¦ãä»åã¯ãã¤ãºãã¢ã½ã³æ··åã¢ãã«ã顿ã«ãã¦ãå´©å£åã®ãã¹ãµã³ããªã³ã°ã®ã¢ã«ã´ãªãºã ãå°ãã¦ã¿ã¾ãããä»åã®ç°¡æå®é¨ã示ãéããæ¨æºçãªã®ãã¹ãµã³ããªã³ã°ã¢ã«ã´ãªãºã ãããæ§è½ãé«ããªãå¾åãããããã§ãããªã¹ã¹ã¡ã¨ãã¦ã¯ãã¾ãæ¨æºã®ã®ãã¹ãµã³ããªã³ã°ãå°ãã¦ã¿ã¦ããã®æ§è½ã§æºè¶³ãããªãããã§ããã°å´©å£åã®ãã¹ãµã³ããªã³ã°ãå°åºãã¦ã¿ãã®ãè¯ããã¨æãã¾ãããã ããè§£æçã«ãã©ã¡ã¼ã¿ãç©åé¤å»ããããã«ã¯ãä»åã®ãã¢ã½ã³åå¸ã¨ã¬ã³ãåå¸ã®ä¾ã®ããã«ã観測ã¢ãã«ãå ±å½¹ã®é¢ä¿æ§ãæã£ã¦ããå¿ è¦ãããã¾ãã
åæ§ã®ã¢ã¤ãã¢ã¯æç³»åã¢ãã«ã§ããé ããã«ã³ãã¢ãã«ï¼Hidden Markov Model, HMMï¼ããããã¯ã¢ãã«ã«ãããLatent Dirichlet Allocationï¼LDAï¼ã«é©ç¨ããã¦ããã»ããä¸è¯æçåºéç¨ï¼Chinese Restaurant Process, CRPï¼ãã¤ã³ãæçåºéç¨ï¼Indian Buffet Process, IBPï¼ãªã©ã®ãã¤ã¸ã¢ã³ãã³ãã©ã¡ããªã¯ã¹ã®ææ³ã«ãå¿ç¨ããã¦ãã¾ãã
Â
*1:åè:Â Machine Learning: A Probabilistic Perspective by Kevin Murphy | The MIT Press
*2:ãã®ãã¨ãããå´©å£åã®ãã¹ãµã³ããªã³ã°ã¯å¨è¾ºåã®ãã¹ãµã³ããªã³ã°ã¨ãå¼ã°ãããã¨ãããããã§ãã
*3:ãã ããã¢ãã«ã«ãã£ã¦ã¯è§£æçã«ãã¾ãã¢ã«ã´ãªãºã ãå°ããªãå ´åããè§£æçãªå¨è¾ºåã®ããã«ç©åè¿ä¼¼ãè¡ãå ´åãããã¾ãã
*4:ããã¯ä¸è¬çã«ã¯ã§ããããã§ãã
*5:ä»ã«ãã¬ã¦ã¹ã»ã¦ã£ã·ã£ã¼ãã¢ãã«ã®ããã«ãå ±å½¹é¢ä¿ãæãç«ã£ã¦ããã°è§£æè¨ç®ã§ãã¾ãã
*6:å°¤åº¦ã§æ§è½ãæ¯è¼ããã®ã¯ãã¾ãæã¾ãããªãã§ãããä»åã¯å®å ¨ã«åãã¢ãã«ããã¢ã«ã´ãªãºã ãå°ãã¦ããã®ã§ã尤度ã§ãã»ã¼ãè¯ãã¯ã©ã¹å²ãå½ã¦ããåæ ãã¦ããã¨ãã¦ãã¾ã£ã¦ãããããããªããã¨æãã¾ãã