ååã®å 容ãããªãã¡ã2ç« ããŒã»ãããã³ã«ããè«çã²ãŒããã誀差éäŒææ³ã§æ©æ¢°åŠç¿ãããšããèªäœã®æŒç¿åé¡ãè§£ããŠã¿ãææ³ã ã
ãŸãã¯ããªãèªåã®æžããã¹ã¯ãªããããåãã°ããããšããã¬ãã«ã«ãããæãããšããããšãç¹°ãè¿ããããšããçç±ãããO'REILLYããŒãããäœãDeep Learning âPythonã§åŠã¶ãã£ãŒãã©ãŒãã³ã°ã®çè«ãšå®è£ ãïŒä»¥äž âããã¹ãâïŒã«æ²èŒãããŠããã¯ã©ã¹ã¯ãåå䜿çšããæ°å€åŸ®åãæ±ãã ânumerical_gradientâ ã«ããã6æ26æ¥ä» ããã³ 7æ1æ¥ä» èšäºã§äœ¿çšããMNISTããŒã¿ã»ããã®æšå®å€ãæ±ãã âTwoLayerNetâ  ã«ãããç®ç以å€ã®çšéã«äœ¿çšããŠãç«æŽŸã«åäœããŠããããç§ã®æžããã¹ã¯ãªããã§ã¯ã絶察ããã¯ãããŸãã
ããã¯ãããŸããŸåããã®ã§ã¯ãªãããããŠããäœã£ãŠããã®ã ãšæããäŸãã° ânumerical_gradientâ ã®ãœãŒã¹ã³ãŒããèŠããšãfor æïŒâã€ãã¬ãŒã¿â ãšèšãã®ã ããã ïŒã倿¬¡å é åã«ãæè»ã«å¯Ÿå¿ã§ãããããªæžãæ¹ã«ãªã£ãŠããããã¯ããPython ã§ã¯ããæžãã®ãïŒïŒããšæããã«ã¯ããããªãã£ãããã以åã«ãèããŠã¿ãã°ç§ã¯æããæ±çšæ§ã®é«ãããã°ã©ã ã®æžãæ¹ãããã®ãèŠæã ã£ããããã®æ°å€ïŒâãªãã©ã«â ãšã âããžãã¯ãã³ããŒâ ãšãåŒã°ããïŒã倿°ã«çœ®ãæããã ãã§ãæµæãæããã¿ã€ããªã®ã ãäžèšã§èšãã°ããã°ã©ãã³ã°ã®æèœããªãã®ã ããã
ã¹ãã³ãµãŒãªã³ã¯
Â
Â
ãããªããã§ããã£ãããã ãã®ã¹ã¯ãªãããæžãã ãã§ããæ ããªãã»ã©ã®åŽåãæ¶è²»ãããã©ãã§ã©ãèŠåŽããããä»äººã«èª¬æããã®ã¯æ¡å€å°é£ãªãã®ã ããä»ã«èºãã®ç³ãšãªã£ãåå ãšããŠãæ¯èŒçèšèªåããããããªãšæã£ããã®ã«ã次ã®ãããªããšãããã
éäŒæãæ±ããåŒã¯ãç°¡ç¥ã§ããã«è¶ããããšã¯ãªããã ãã Sigmoid ã¬ã€ã€ã®éäŒæãäžããåŒã¯ãé äŒæã«ãããåºååŽã®å€æ°ãçšããŠã次ã®ããã«èšè¿°ãããåºååŽãšããã®ã¯ãäžžå°ã§ç€ºããèšç®ããŒãã®å³åŽãšããããšã ãååã®ãšã³ããªãŒ ã«ç€ºããèªäœã®èšç®ã°ã©ãããåãåºãããã®ãªã®ã§ã倿°åãããã¹ãP146ã®å³5-22ãšç°ãªã£ãŠããããå 容çã«ã¯åäžã®ã¯ãã§ããã
äžæ¹ã2ä¹å誀差ã®éäŒæãäžããåŒã¯ãé äŒæã®å ¥ååŽã®å€æ°ãçšããŠèšè¿°ãããå ¥ååŽãšããã®ã¯ãèšç®ããŒãã®å·ŠåŽãšããããšã ãããã¹ãã«å šãåããã®ã¯ãªãããP132 ã® âz = t**2âãât = x + yâ ã«ã€ããŠã®éäŒæã瀺ããå³5-8ããå 容çã«ã¯äŒŒãŠããã¯ãã ã
å ¥ååŽã®å€æ°ã ãããšåºååŽã®å€æ°ã ãããšãã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹å€æ°ïŒå éšå€æ°ïŒãšããŠä¿åããããšã¯ãããã§ãå¯èœãªã®ã§ã䜿ãããããã®ã䜿ãã°ãããèšèªåããŠããŸãã°ãã ããã ãã®ããšã ãããã£ãŠãæäžã¯ããããïŒ ãªã¬ä»äœãèšç®ããŠãã®ïŒããšããããããªããªãããšããããã£ã¡ã ãèµ·ããã®ã ã
ãŸãçµæãšããŠãã¹ã¯ãªããã« z1*(1 ïŒ z1)*(z1 ïŒ t) ãšããå éšå€æ° z1 ã®3ä¹ãèšç®ããåŒãçŸãããããããªã«ïŒããŠãªããã§å€§å€æ°æã¡æªãæããããééã£ãŠã¯ããªãã¯ãã ïŒããïŒ
æ°æã¡æªããå°ãã§ãè§£æ¶ããããšæã£ãŠãã€ããã¡ãæŒããããªã€ããã§ãExcel ã§åãããšããã£ãŠã¿ãããšæãã€ãããExcel ã䜿ãã°å éšå€æ°ã®äžèЧåãå¯èŠåãã§ããã¯ãã ã
äºåã®äºæ³ã«åããŠãããå°ãªãããèŠåŽãããããããªãã®ãã§ãããšçµæã®ã¹ã¯ã·ã§ã瀺ãã
ã»ã« B2ïŒD2ïŒéã¿ã»ãã€ã¢ã¹ïŒãB4ïŒD4ïŒå ¥åããŒã¿ã»æåž«ããŒã¿ïŒãããã³ h ïŒæ°å€åŸ®åçšåŸ®å°å€ïŒãå ¥åããŒã¿ã§ããã
以äžãèšå®ããæ°åŒã瀺ãã
ã»ã« G1ïŒæšå®å€ïŒïŒ=B2*B4+C2*C4+D2
ã»ã« I1ïŒSigmoidïŒïŒ=1/(1+EXP(-1*G2))
ã»ã« K2ïŒ2ä¹å誀差ïŒïŒ=0.5*(I2-D4)^2
ãããŠãäœæ¥ãšãªã¢ã§ã»ã« B2ïŒïŒéã¿ W[0]ïŒãC2ïŒïŒéã¿ W[1]ïŒãD2ïŒïŒãã€ã¢ã¹ W[2]ïŒã®ããããããããã ±h ã ãå€åãããäžæ²åŒãšåå 容ã®èšç®çµæã®å·®ãåã£ãŠã»ã«G9ãI9ãK9ã®æ°å€åŸ®åå€ãšããã
äžæ¹ãéäŒææ³ã«ããå€ãšããŠãã»ã« I10 ã«=I2*(1-I2)ïŒz1(1-z1) ã«çžåœïŒãã»ã« K10 ã«Â =I10*(I2-D4)ïŒz1(1-z1)(z1-t) ã«çžåœïŒãšããæ°åŒãèšå®ãããããããã»ã« I9ãK9 ãšå°æ°ç¹ä»¥äž5æ¡ã®ã¬ãã«ã§äžèŽããã®ã¯ãååã® Python ã¹ã¯ãªãããšçšããŠèšç®ããå Žåãšåãã ã£ãã
åèã®ãããååãšã³ããªãŒ ã«ç€ºããèšç®ã°ã©ããåæ²ããã
ã€ãŸããããäžåºŠçãæŽçãããšã
ã·ã°ã¢ã€ãã埮åããã«ã¯ãz1(1-z1) ãæããã°ããã®ã ã
2ä¹å誀差ã埮åããã«ã¯ã(z1-t) ãæããã°ããã®ã ã
äž¡è ã®åæé¢æ°ã埮åããã«ã¯ãz1(1-z1) ãšÂ (z1-t) ãæããã°ããã®ã ã
ããã¯ããã£ãŠããã¯ããªã®ã ãããªãã ãããã®ãäœããã£ãŠããã ãæã¯ïŒ åæé¢æ°ã®åŸ®åæ³ã®å ¬åŒã®å°åºããããäžåºŠåŸ©ç¿ããã°ããã®ã ãããïŒ ãããããã£ãŠããã€ãããªã®ã ãâŠ
念ã®ãã OR ã²ãŒãã«ã€ããŠãããã«èšç®ããŠã¿ãã
å ¥åããŒã¿ã0ã1ãæåž«ããŒã¿ã1ãšããå Žåã®çµæã
å ¥åããŒã¿ã1ã0ãæåž«ããŒã¿ã1ãšããå Žåã®çµæã
å ¥åããŒã¿ã1ã1ãæåž«ããŒã¿ã1ãšããå Žåã®çµæãããããååã® Python ã¹ã¯ãªããã§èšç®ããçµæãšäžèŽããã
ãªããã©ã£ããã£ã±ãééãããããããŠãééãå士ãããŸããŸå¶ç¶ããŸãçžæ®ºãåã£ãŠãããããæ£ããå€ãåŸãããŠããããã«èŠããã ãã§ãå®ã¯å šéšééã£ãŠããããªããŠããšã¯ãªãããïŒ ãïŒïŒèª°ã«èšãïŒ
ãã®é ç¶ãã

ãŒãããäœãDeep Learning âPythonã§åŠã¶ãã£ãŒãã©ãŒãã³ã°ã®çè«ãšå®è£
- äœè : æè€åº·æ¯
- åºç瀟/ã¡ãŒã«ãŒ: ãªã©ã€ãªãŒãžã£ãã³
- çºå£²æ¥: 2016/09/24
- ã¡ãã£ã¢: åè¡æ¬ïŒãœããã«ããŒïŒ
- ãã®ååãå«ãããã° (16ä»¶) ãèŠã