ºÁÎÞÒÉÎÊ£¬Éñ¾ÍøÂçºÍ»úÆ÷ѧϰÔÚ¹ýÈ¥¼¸ÄêÒ»Ö±ÊǸ߿Ƽ¼ÁìÓòºÜÈÈÃŵϰÌâÖ®Ò»¡£ÕâÒ»µãºÜÈÝÒ׿´³ö£¬ÒòΪËüÃǽâ¾öÁ˺ܶàÕæÕýÓÐȤµÄÓÃÀý£¬ÈçÓïÒôʶ±ð¡¢Í¼Ïñʶ±ð¡¢ÉõÖÁÊÇÀÖÇúÆ×д¡£Òò´Ë£¬ÔÚÕâÆªÎÄÕ£¬ÀÖÓã²¥¿Í¾ö¶¨±àÖÆÒ»·ÝÄÒÀ¨Ò»Ð©ºÜºÃµÄPython»úÆ÷ѧϰ¿âµÄÇåµ¥£¬²¢½«ÆäÕÅÌùÔÚÏÂÃæ¡£
ÔÚÀÖÓã²¥¿Í¿´À´£¬PythonÊÇѧϰ£¨ºÍʵÏÖ£©»úÆ÷ѧϰ¼¼ÊõÓÅÐãµÄÓïÑÔÖ®Ò»£¬ÆäÔÒòÖ÷ÒªÓÐÒÔϼ¸µã£º
ÓïÑÔ¼òµ¥£ºÈç½ñ£¬Python³ÉΪÐÂÊÖ³ÌÐòÔ±Ê×Ñ¡ÓïÑÔµÄÖ÷ÒªÔÒòÊÇËüÓµÓмòµ¥µÄÓï·¨ºÍÅÓ´óµÄÉçÇø¡£
¹¦ÄÜÇ¿´ó£ºÓï·¨¼òµ¥²¢²»Òâζ×ÅËü¹¦Äܱ¡Èõ¡£PythonͬÑùÒ²ÊÇÊý¾Ý¿ÆÑ§¼ÒºÍWeb³ÌÐòÔ±ÆÄÊÜ»¶ÓµÄÓïÑÔÖ®Ò»¡£PythonÉçÇøËù´´½¨µÄ¿â¿ÉÒÔÈÃÄã×öÈκÎÄãÏë×öµÄÊ£¬°üÀ¨»úÆ÷ѧϰ¡£
·á¸»µÄML¿â£ºÄ¿Ç°ÓдóÁ¿ÃæÏòPythonµÄ»úÆ÷ѧϰ¿â¡£Äã¿ÉÒÔ¸ù¾ÝÄãµÄʹÓÃÇé¿ö¡¢¼¼ÊõºÍÐèÇó´ÓÊý°Ù¸ö¿âÖÐÑ¡ÔñÆÄΪºÏÊʵÄÒ»¸ö¡£
ÉÏÃæ×îºóÒ»µã¿ÉÒÔ˵ÊǺÜÖØÒªµÄ¡£Çý¶¯»úÆ÷ѧϰµÄËã·¨Ï൱¸´ÔÓ£¬°üÀ¨Á˺ܶàµÄÊýѧ֪ʶ£¬ËùÒÔ×Ô¼º¶¯ÊÖȥʵÏÖËüÃÇ£¨²¢±£Ö¤ÆäÕý³£ÔËÐУ©½«»áÊÇÒ»¼þºÜÀ§ÄѵÄÈÎÎñ¡£ÐÒÔ˵ØÊÇ£¬Óкܶà´ÏÃ÷µÄ¡¢ÓзîÏ×¾«ÉñµÄÈËΪÀÖÓã²¥¿ÍÃÇ×öÁËÕâ¸öÀ§ÄѵŤ×÷£¬Òò´ËÀÖÓã²¥¿ÍÃÇÖ»ÐèҪרעÓÚÊֱߵÄÓ¦ÓóÌÐò¼´¿É¡£
Õâ²¢²»ÊÇÒ»¸öÏ꾡ÎÞÒŵÄÇåµ¥¡£Óкܶà´úÂ벢δÔÚ´ËÁгö£¬ÔÚÕâÀïÀÖÓã²¥¿ÍÖ»»á·¢²¼Ò»Ð©·Ç³£Ïà¹Ø»òÖªÃûµÄ¿â¡£ÏÂÃæ£¬À´¿´¿´Õâ·ÝÇåµ¥°É¡£
×îÊÜ»¶ÓµÄ¿â
ÀÖÓã²¥¿ÍÒѾ¶ÔһЩ±È½ÏÁ÷ÐеĿâºÍËüÃÇÉó¤µÄ·½Ïò×öÁËÒ»¸ö¼ò¶ÌµÄÃèÊö£¬ÔÚÏÂÒ»½Ú£¬ÀÖÓã²¥¿Í»á¸ø³öÒ»¸ö¸üÍêÕûµÄÏîÄ¿ÁÐ±í¡£
Tensorflow
ÕâÊÇÇåµ¥ÖÐÐÂÐ˵ÄÉñ¾ÍøÂç¿â¡£ÔÚǰ¼¸Ìì¸Õ¸Õ·¢ÐУ¬TensorflowÊǸ߼¶Éñ¾ÍøÂç¿â£¬¿ÉÒÔ°ïÖúÄãÉè¼ÆÄãµÄÍøÂç¼Ü¹¹£¬±ÜÃâ³öÏÖµÍˮƽµÄϸ½Ú´íÎó¡£ÖصãÊÇÔÊÐíÄ㽫¼ÆËã±íʾ³ÉÊý¾ÝÁ÷ͼ£¬Ëü¸üÊʺÏÓÚ½â¾ö¸´ÔÓÎÊÌâ¡£
´Ë¿âÖ÷ҪʹÓÃC++±àд£¬°üÀ¨Python°ó¶¨£¬ËùÒÔÄã²»±Øµ£ÐÄÆäÐÔÄÜÎÊÌâ¡£ÀÖÓã²¥¿ÍºÜϲ»¶µÄÒ»¸öÌØµãÊÇËüÁé»îµÄÌåϵ½á¹¹£¬ÔÊÐíÄãʹÓÃÏàͬµÄAPI½«Æä²¿Êðµ½Ò»¸ö»ò¶à¸öCPU»òGPUµĄ̈ʽ»ú¡¢·þÎñÆ÷»òÕßÒÆ¶¯É豸¡£Óд˹¦ÄܵĿⲢ²»¶à£¬Èç¹ûҪ˵ÓУ¬Tensorflow¾ÍÊÇÆäÒ»¡£
ËüÊÇΪ¹È¸è´óÄÔÏîÄ¿¿ª·¢µÄ£¬Ä¿Ç°Òѱ»Êý°ÙÃû¹¤³ÌʦʹÓã¬ËùÒÔÎÞÐ뻳ÒÉËüÊÇ·ñÄܹ»´´ÔìÓÐȤµÄ½â¾ö·½°¸¡£
¾¡¹ÜºÍÆäËüµÄ¿âÒ»Ñù£¬Äã¿ÉÄܱØÐ뻨һЩʱ¼äÀ´Ñ§Ï°ËüµÄAPI£¬µ«»¨µôµÄʱ¼äÓ¦¸ÃÊǺÜÖµµÃµÄ¡£ÀÖÓã²¥¿ÍÖ»»¨Á˼¸·ÖÖÓÁ˽âÁËÒ»ÏÂËüµÄºËÐŦÄÜ£¬¾ÍÒѾ֪µÀTensorflowÖµµÃÀÖÓã²¥¿Í»¨¸ü¶àµÄʱ¼äÈÃÀÖÓã²¥¿ÍÀ´ÊµÏÖÀÖÓã²¥¿ÍµÄÍøÂçÉè¼Æ£¬¶ø²»½ö½öÊÇͨ¹ýAPIÀ´Ê¹Óá£
É󤣺Éñ¾ÍøÂç
꿅᣼tensorflow.org/
Github: github.com/tensorflow/tensorflow
scikit-learn
scikit-learn¾ø¶ÔÊÇÆäÖÐÒ»¸ö£¬¶øÇÒËãµÃÉÏÊÇËùÓÐÓïÑÔÖÐÁ÷ÐеĻúÆ÷ѧϰ¿âÖ®Ò»¡£ËüÓµÓдóÁ¿µÄÊý¾ÝÍÚ¾òºÍÊý¾Ý·ÖÎö¹¦ÄÜ£¬Ê¹Æä³ÉΪÑо¿ÈËÔ±ºÍ¿ª·¢ÕßµÄÊ×Ñ¡¿â¡£
ÆäÄÚÖÃÁËÁ÷ÐеÄNumPy¡¢SciPy£¬matplotlib¿â£¬Òò´Ë¶ÔÐí¶àÒѾʹÓÃÕâЩ¿âµÄÈËÀ´Ëµ¾ÍÓÐÒ»ÖÖÊìϤµÄ¸Ð¾õ¡£¾¡¹ÜÓëÏÂÃæÁгöµÄÆäËû¿âÏà±È£¬Õâ¸ö¿âÏÔµÃˮƽ²ã´ÎÂԵͣ¬²¢ÇãÏòÓÚ×÷ΪÐí¶àÆäËû»úÆ÷ѧϰʵÏֵĻù´¡¡£
É󤣺·Ç³£¶à
꿅᣼scikit-learn.org/
Github: github.com/scikit-learn/scikit-learn
Theano
TheanoÊÇÒ»¸ö»úÆ÷ѧϰ¿â£¬ÔÊÐíÄ㶨Òå¡¢ÓÅ»¯ºÍÆÀ¹ÀÉæ¼°¶àάÊý×éµÄÊýѧ±í´ïʽ£¬Õâ¿ÉÄÜÊÇÆäËü¿â¿ª·¢É̵ÄÒ»¸ö´ìÕ۵㡣Óëscikit-learnÒ»Ñù£¬TheanoÒ²ºÜºÃµØÕûºÏÁËNumPy¿â¡£GPUµÄ͸Ã÷ʹÓÃʹµÃTheano¿ÉÒÔ¿ìËÙ²¢ÇÒÎÞ´íµØÉèÖã¬Õâ¶ÔÓÚÄÇЩ³õѧÕßÀ´Ëµ·Ç³£ÖØÒª¡£È»¶øÓÐЩÈ˸ü¶àµÄÊǰÑËüÃèÊö³ÉÒ»¸öÑо¿¹¤¾ß£¬¶ø²»Êǵ±×÷²úÆ·À´Ê¹Óã¬Òò´ËÒª°´ÐèʹÓá£
TheanoºÜºÃµÄ¹¦ÄÜÖ®Ò»ÊÇÓµÓÐÓÅÐãµÄ²Î¿¼ÎĵµºÍ´óÁ¿µÄ½Ì³Ì¡£ÊÂʵÉÏ£¬¶à¿÷ÁË´Ë¿âµÄÁ÷Ðг̶ȣ¬Ê¹ÄãÔÚѰÕÒ×ÊÔ´µÄʱºò²»»áÓöµ½Ì«¶àµÄÂé·³£¬±ÈÈçÈçºÎµÃµ½ÄãµÄÄ£ÐÍÒÔ¼°ÔËÐеȡ£
É󤣺Éñ¾ÍøÂçºÍÉî¶Èѧϰ
꿅᣼deeplearning.net/software/theano/
Github:github.com/Theano/Theano
Pylearn2
´ó¶àÊýPylearn2µÄ¹¦ÄÜʵ¼ÊÉ϶¼Êǽ¨Á¢ÔÚTheanoÖ®ÉÏ£¬ËùÒÔËüÓÐÒ»¸ö·Ç³£¼áʵµÄ»ù´¡¡£
¾ÝPylearn2ÍøÖ·½éÉÜ£º
Pylearn2²»Í¬ÓÚscikit-learn£¬Pylearn2Ö¼ÔÚÌṩ¼«´óµÄÁé»îÐÔ£¬Ê¹Ñо¿Õß¼¸ºõ¿ÉÒÔ×öÈκÎÏë×öµÄÊÂÇ飬¶øscikit-learnµÄÄ¿µÄÊÇ×÷Ϊһ¸ö“ºÚºÐ”À´¹¤×÷£¬¼´Ê¹Óû§²»Á˽âʵÏÖÒ²ÄܲúÉúºÜºÃµÄ½á¹û¡£
¼Çס£¬Pylearn2ÔÚºÏÊʵÄʱºò»á·â×°ÆäËüµÄ¿â£¬Èçscikit-learn£¬ËùÒÔÔÚÕâÀïÄã²»»áµÃµ½100%Óû§±àдµÄ´úÂ롣Ȼ¶ø£¬ÕâȷʵºÜºÃ£¬ÒòΪ´ó¶àÊý´íÎóÒѾ±»½â¾öÁË¡£ÏñPylearn2ÕâÑùµÄ·â×°¿âÔÚ´ËÁбíÖÐÓкÜÖØÒªµÄµØÎ»¡£
É󤣺Éñ¾ÍøÂç
꿅᣼deeplearning.net/software/pylearn2/
Github£ºgithub.com/lisa-lab/pylearn2
Pyevolve
Éñ¾ÍøÂçÑо¿¸üÈÃÈËÐ˷ܺͲ»Í¬µÄÁìÓòÖ®Ò»ÊÇÒÅ´«Ëã·¨¡£´Ó¸ù±¾ÉÏ˵£¬ÒÅ´«Ëã·¨Ö»ÊÇÒ»¸öÄ£Äâ×ÔȻѡÔñµÄÆô·¢Ê½ËÑË÷¹ý³Ì¡£±¾ÖÊÉÏËüÊÇÔÚһЩÊý¾ÝÉϲâÊÔÉñ¾ÍøÂ磬²¢´ÓÒ»¸öÄâºÏº¯ÊýÖеõ½ÍøÂçÐÔÄܵķ´À¡¡£È»ºó¶ÔÍøÂçµü´úµØ×öСµÄ¡¢Ëæ»úµÄ±ä»¯£¬ÔÙʹÓÃÏàͬµÄÊý¾Ý½øÐвâÊÔ¡£½«¾ßÓи߶ÈÄâºÏ·ÖÊýµÄÍøÂç×÷ΪÊä³ö£¬È»ºóʹÆä×÷ΪÏÂÒ»¸öÍøÂçµÄ¸¸½Úµã¡£
PyevolveÌṩÁËÒ»¸öÓÃÓÚ½¨Á¢ºÍÖ´ÐÐÕâÀàËã·¨ºÜ°ôµÄ¿ò¼Ü¡£×÷ÕßÔø±íʾ£¬V0.6°æ±¾Ò²Ö§³ÖÒÅ´«±à³Ì£¬ËùÒÔÔÚ²»¾ÃµÄ½«À´£¬¸Ã¿ò¼Ü½«¸üÇãÏòÓÚ×÷Ϊһ¸ö½ø»¯µÄ¼ÆËã¿ò¼Ü£¬¶ø²»Ö»ÊǼòµ¥µØÒÅ´«Ëã·¨¿ò¼Ü¡£
É󤣺ÒÅ´«Ëã·¨µÄÉñ¾ÍøÂç
Github£ºgithub.com/perone/Pyevolve
NuPIC
NupicÊÇÁíÒ»¸ö¿â£¬Óë±ê×¼µÄ»úÆ÷ѧϰËã·¨Ïà±È£¬ËüÌṩÁËһЩ²»Í¬µÄ¹¦ÄÜ¡£Ëü»ùÓÚÒ»¸ö³Æ×÷²ã´Îʱ¼ä¼ÇÒ䣨HTM£©µÄÐÂÆ¤²ãÀíÂÛ£¬¡£HTMs¿ÉÒÔ¿´×÷ÊÇÒ»ÀàÉñ¾ÍøÂ磬µ«ÔÚһЩÀíÂÛÉÏÓÐËù²»Í¬¡£
´Ó¸ù±¾ÉÏ˵£¬HTMsÊÇÒ»¸ö·Ö²ãµÄ¡¢»ùÓÚʱ¼äµÄ¼ÇÒäϵͳ£¬¿ÉÒÔ½ÓÊܸ÷ÖÖÊý¾Ý¡£ÕâÒâζ×Å»á³ÉΪһ¸öеļÆËã¿ò¼Ü£¬À´Ä£·ÂÀÖÓã²¥¿ÍÃÇ´óÄÔÖеļÇÒäºÍ¼ÆËãÊÇÈçºÎÃܲ»¿É·ÖµÄ¡£¶ÔÓÚÀíÂÛ¼°ÆäÓ¦ÓõÄÏêϸ˵Ã÷£¬Çë²ÎÔÄ °×ƤÊé¡£
É󤣺HTMs
Github£ºgithub.com/numenta/nupic
Pattern
´Ë¿â¸üÏñÊÇÒ»¸ö“È«Ì×”¿â£¬ÒòΪËü²»½öÌṩÁËһЩ»úÆ÷ѧϰËã·¨£¬¶øÇÒ»¹ÌṩÁ˹¤¾ßÀ´°ïÖúÄãÊÕ¼¯ºÍ·ÖÎöÊý¾Ý¡£Êý¾ÝÍÚ¾ò²¿·Ö¿ÉÒÔ°ïÖúÄãÊÕ¼¯À´×Ô¹È¸è¡¢ÍÆÌØºÍά»ù°Ù¿ÆµÈÍøÂç·þÎñµÄÊý¾Ý¡£ËüÒ²ÓÐÒ»¸öWebÅÀ³æºÍHTML DOM½âÎöÆ÷¡£“ÒýÈëÕâЩ¹¤¾ßµÄÓŵã¾ÍÊÇ£ºÔÚͬһ¸ö³ÌÐòÖÐÊÕ¼¯ºÍѵÁ·Êý¾ÝÏԵøü¼ÓÈÝÒס£
ÔÚÎĵµÖÐÓиöºÜºÃµÄÀý×Ó£¬Ê¹ÓÃÒ»¶ÑÍÆÎÄÀ´ÑµÁ·Ò»¸ö·ÖÀàÆ÷£¬ÓÃÀ´Çø·ÖÒ»¸öÍÆÎÄÊÇ“win”»¹ÊÇ“fail”¡£
from pattern.web import Twitter
from pattern.en import tag
from pattern.vector import KNN, count
twitter, knn = Twitter(), KNN()
for i in range(1, 3):
for tweet in twitter.search('#win OR #fail', start=i, count=100):
s = tweet.text.lower()
p = '#win' in s and 'WIN' or 'FAIL'
v = tag(s)
v = [word for word, pos in v if pos == 'JJ'] # JJ = adjective
v = count(v) # {'sweet': 1}
if v:
knn.train(v, type=p)
print knn.classify('sweet potato burger')
print knn.classify('stupid autocorrect')
Ê×ÏÈʹÓÃtwitter.search()ͨ¹ý±êÇ©'#win'ºÍ'#fail'À´ÊÕ¼¯ÍÆÎÄÊý¾Ý¡£È»ºóÀûÓôÓÍÆÎÄÖÐÌáÈ¡µÄÐÎÈÝ´ÊÀ´ÑµÁ·Ò»¸öK-½üÁÚ£¨KNN£©Ä£ÐÍ¡£¾¹ý×ã¹»µÄѵÁ·£¬Äã»áµÃµ½Ò»¸ö·ÖÀàÆ÷¡£½ö½öÖ»Ðè15ÐдúÂ룬»¹²»´í¡£
É󤣺×ÔÈ»ÓïÑÔ´¦Àí£¨NLP£©ºÍ·ÖÀà¡£
Github£ºgithub.com/clips/pattern
Caffe
CaffeÊÇÃæÏòÊÓ¾õÓ¦ÓÃÁìÓòµÄ»úÆ÷ѧϰ¿â¡£Äã¿ÉÄÜ»áÓÃËüÀ´´´½¨Éî¶ÈÉñ¾ÍøÂ磬ʶ±ðͼÏñÖеÄʵÌ壬ÉõÖÁ¿ÉÒÔʶ±ðÒ»¸öÊÓ¾õÑùʽ¡£
CaffeÌṩGPUѵÁ·µÄÎ޷켯³É£¬µ±ÄãѵÁ·Í¼Ïñʱ¼«Á¦ÍƼöʹÓô˿⡣ËäÈ»CaffeËÆºõÖ÷ÒªÊÇÃæÏòѧÊõºÍÑо¿µÄ£¬µ«Ëü¶ÔÓÃÓÚÉú²úʹÓõÄѵÁ·Ä£ÐÍͬÑùÓÐ×ã¹»¶àµÄÓÃ;¡£
É󤣺Éñ¾ÍøÂç/ÊÓ¾õÉî¶Èѧϰ
꿅᣼caffe.berkeleyvision.org/
Github£ºgithub.com/BVLC/caffe
pythonÅàѵ»ú¹¹ÍƼöÄļң¿
ÔÚÕâÀïÍÆ¼öÀÖÓã²¥¿ÍµÄpythonÅàѵ£¬¸ÐÐËȤµÄÅóÓÑ¿ÉÒÔ×ÉѯÓÒ²àµÄ×Éѯ´°¿Ú