I3 6100不另加显卡能玩坦经典90塔克大战 手机版吗

除了以上各位说的各种众包平台之外,我想说的是如何通过自己的力量而不通过这些平台去接私活。(以下的所有内容都是自己的亲身经历)&br&1、因为这是在知乎,第一个途径会说说如何在知乎这个平台接私活,当然不是让你打广告。第一是用心回答,第二是写专业性文章。(无论是答案还是文章都是要先展现你的专业技能,不然甲方如何放心的找你)。很多需求方都在知乎逛着呢,你有技术不要藏着,善于分享,善于回答,也许你的甲方就是下一个题主。&br&&br&关于答题方面,提两点建议:&u&&b&&br&多展示自己的成果、作品&/b&&/u&(这样需求方回自己判断你是不是符合自己需求的人)&br&&u&&b&多回答一些专业问题,而不是一些拉家常式问题&/b&&/u&(尤其是要回答一些你认为脑残的问题)&br&&br&2、找一个你认为不错的地方写博客(流量高一点的比较好,推荐博客园、开源中国之类的网站),分享你的学习经验以及展示你得成果,如果可以留下自己的微信或者联系方式。这个是最直接的方式,你博客写的好技术不错,会有一些私人培训找到你的。当然你得博客写的好,有人想转载,可以收取一定稿费。再者就是你分享的一些功能性代码,通过搜索引擎被一些有需求的需求方发现,有一部分需求放也会想去联系你(基于大部分需求方的需求都是及时性需求,而博客我们可能几天不关注,因此&u&&b&强烈建议在博客比较显眼的地方留下你得联系方式&/b&&/u&)&br&&br&3、如有可能以及空闲,加一些qq群以及微信群,这种实时沟通的平台。比如你对python爬虫特别感兴趣以及有一身技能。那我可以加一些这类的群。有很多甲方会通过qq群微信群去寻找技术人才的。但是不可能是你加群了,别人就会找到你。像以上两者一样。&br&如果群里有人问题,你有空可以点拨一二,这样一来,如果群里很多人问题都被你解决过得到的好处是&br&&b&(1)、当有需求方来群里,大家都会推荐你&br&(2)、群里朋友也会帮你推荐一些其他朋友的项目(一个好的需求链)&/b&&br&再者可以在群内展示你得成果,也会给你带来不错的效果的。&br&&br&4、朋友圈分享你得成果,这种就不用说了,有时候朋友会帮你推荐一些不错的项目的。&br&&br&5、通过以上四条路径我都接过私活,如果你有兴趣可以尝试尝试看看,可能不会立即见效,但是机会总是留给有准备的人。&br&有人看觉得有帮助的话我就再更新一些。
除了以上各位说的各种众包平台之外,我想说的是如何通过自己的力量而不通过这些平台去接私活。(以下的所有内容都是自己的亲身经历) 1、因为这是在知乎,第一个途径会说说如何在知乎这个平台接私活,当然不是让你打广告。第一是用心回答,第二是写专业性文…
&p&为 PyCharm 新手整理了最常用的10个小技巧,能帮你省下不少时间。&/p&&h2&&b&0. 常用快捷键&/b&&/h2&&p&先上两张速查图,可以设为桌面或者打印出来放在手边,想不起来时瞄一眼,很快就能记住常用快捷键了。&/p&&figure&&img src=&https://pic1.zhimg.com/50/v2-cb058dde6feedc8193acee_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&3308& data-rawheight=&1805& class=&origin_image zh-lightbox-thumb& width=&3308& data-original=&https://pic1.zhimg.com/50/v2-cb058dde6feedc8193acee_r.jpg&&&/figure&&p&&br&&/p&&figure&&img src=&https://pic1.zhimg.com/50/v2-72a7b52bb_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&3308& data-rawheight=&1805& class=&origin_image zh-lightbox-thumb& width=&3308& data-original=&https://pic1.zhimg.com/50/v2-72a7b52bb_r.jpg&&&/figure&&p&&br&&/p&&h2&&b&1. 查看使用库源码&/b&&/h2&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/50/v2-dadfbdb13d7_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&720& data-rawheight=&636& class=&origin_image zh-lightbox-thumb& width=&720& data-original=&https://pic4.zhimg.com/50/v2-dadfbdb13d7_r.jpg&&&/figure&&p&经常听人说,多看源码。源码不仅能帮我们搞清楚运行机制,还能学习优秀的库或者框架的最佳实践。调用库时,你可以在你好奇的几乎任何地方点击 &i&Command+B&/i&,就可以很方便的跳转到源码里的类,方法,函数,变量的定义。&/p&&a class=&video-box& href=&//link.zhihu.com/?target=https%3A//www.zhihu.com/video/504256& target=&_blank& data-video-id=&& data-video-playable=&true& data-name=&& data-poster=&https://pic2.zhimg.com/v2-36e18d0c9a7fcbeb7f80d.jpg& data-lens-id=&504256&&
&img class=&thumbnail& src=&https://pic2.zhimg.com/v2-36e18d0c9a7fcbeb7f80d.jpg&&&span class=&content&&
&span class=&title&&&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://www.zhihu.com/video/504256&/span&
&/a&&p&&br&&/p&&h2&&b&2. 让你的代码 PEP8&/b&&/h2&&p&&br&&/p&&figure&&img src=&https://pic1.zhimg.com/50/v2-393e12efbbbbaf80f062d6f54ecf2445_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&720& data-rawheight=&585& class=&origin_image zh-lightbox-thumb& width=&720& data-original=&https://pic1.zhimg.com/50/v2-393e12efbbbbaf80f062d6f54ecf2445_r.jpg&&&/figure&&p&写 Python 代码时,你会严格遵守 pep8 规范么?还是要遵守的,不然代码传到 github 或者知乎上被人怼就不好了。但是如果靠肉眼去检查和注意的话,太累,靠 PyCharm 来做这事就好,&i&Command+Option+L&/i&,一键 pep8 走起。&/p&&p&&br&&/p&&h2&&b&3. 新手不再愁安装库&/b&&/h2&&p&&br&&/p&&figure&&img src=&https://pic3.zhimg.com/50/v2-b8f49a56fbc4778dcecff_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&720& data-rawheight=&612& class=&origin_image zh-lightbox-thumb& width=&720& data-original=&https://pic3.zhimg.com/50/v2-b8f49a56fbc4778dcecff_r.jpg&&&/figure&&p&如果你是新手,可能会为了安装库而感到烦恼,在 PyCharm 里面可以使用你熟悉的图形化界面来安装库,就不用陷在一堆命令行里了。&/p&&a class=&video-box& href=&//link.zhihu.com/?target=https%3A//www.zhihu.com/video/620160& target=&_blank& data-video-id=&& data-video-playable=&true& data-name=&& data-poster=&https://pic2.zhimg.com/v2-40ba73fd001bf9da7b35.jpg& data-lens-id=&620160&&
&img class=&thumbnail& src=&https://pic2.zhimg.com/v2-40ba73fd001bf9da7b35.jpg&&&span class=&content&&
&span class=&title&&&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://www.zhihu.com/video/620160&/span&
&/a&&p&&br&&/p&&h2&&b&4. 查找文件,类, 方法&/b&&/h2&&p&当我们需要在项目中寻找一个文件名的时候,输入 &i&Command + Shift + O&/i&,然后输入你想查找的文件名就可以了。如果你不记得全名了,只需要输入首字母,Pycharm 就会提示你。比如我想查找一个叫 &i&test_errors.py&/i& 的文件,那么只需要输入&i& tee&/i& 就可以找到。又或者查询 &i&test_errors_1.py&/i& 那么只需要输入 &i&tee1&/i& 就可以查找到。&/p&&a class=&video-box& href=&//link.zhihu.com/?target=https%3A//www.zhihu.com/video/151168& target=&_blank& data-video-id=&& data-video-playable=&true& data-name=&& data-poster=&https://pic3.zhimg.com/v2-daf2df0900e6.jpg& data-lens-id=&151168&&
&img class=&thumbnail& src=&https://pic3.zhimg.com/v2-daf2df0900e6.jpg&&&span class=&content&&
&span class=&title&&&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://www.zhihu.com/video/151168&/span&
&/a&&p&&br&&/p&&h2&&b&5. 快速选择代码块&/b&&/h2&&p&你会怎么快速注释一段 Python 代码块?不会是一行一行的加#吧……&/p&&p&在需要选择某个函数的时候,只需要把光标放在最前面,然后点击 &i&Command + Option + Shift + [ &/i&,就可以选择对当前代码块, 使用 &i&Command + / &/i&注释。&/p&&a class=&video-box& href=&//link.zhihu.com/?target=https%3A//www.zhihu.com/video/920896& target=&_blank& data-video-id=&& data-video-playable=&true& data-name=&& data-poster=&https://pic1.zhimg.com/v2-69af83b6d922d.jpg& data-lens-id=&920896&&
&img class=&thumbnail& src=&https://pic1.zhimg.com/v2-69af83b6d922d.jpg&&&span class=&content&&
&span class=&title&&&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://www.zhihu.com/video/920896&/span&
&/a&&p&&br&&/p&&h2&&b&6.快速插入常用代码&/b&&/h2&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/50/v2-107fec50a31a59e11e873f7924fcc51f_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&720& data-rawheight=&728& class=&origin_image zh-lightbox-thumb& width=&720& data-original=&https://pic4.zhimg.com/50/v2-107fec50a31a59e11e873f7924fcc51f_r.jpg&&&/figure&&p&有时候需要输入很长的代码,比如 &i&if __name__ == '__main__':&/i& ,这时候手动输入不如直接 &i&Command + J&/i& ,就可以直接插入常用代码了。&/p&&a class=&video-box& href=&//link.zhihu.com/?target=https%3A//www.zhihu.com/video/147904& target=&_blank& data-video-id=&& data-video-playable=&true& data-name=&& data-poster=&https://pic3.zhimg.com/v2-3c0dd2ccde96.jpg& data-lens-id=&147904&&
&img class=&thumbnail& src=&https://pic3.zhimg.com/v2-3c0dd2ccde96.jpg&&&span class=&content&&
&span class=&title&&&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://www.zhihu.com/video/147904&/span&
&/a&&p&&br&&/p&&h2&&b&7.运行/调试代码&/b&&/h2&&p&运行代码、调试代码应该是大多数人最常用的快捷键吧。具体操作见视频:&/p&&p&&br&&/p&&a class=&video-box& href=&//link.zhihu.com/?target=https%3A//v.qq.com/x/cover/n05165kwfy6/n05165kwfy6.html& target=&_blank& data-video-id=&527872& data-video-playable=&true& data-name=&7运行或调试_腾讯视频& data-poster=&https://pic1.zhimg.com/v2-f9f5dfd8dfe7fbdb06c92008.jpg& data-lens-id=&&&
&img class=&thumbnail& src=&https://pic1.zhimg.com/v2-f9f5dfd8dfe7fbdb06c92008.jpg&&&span class=&content&&
&span class=&title&&7运行或调试_腾讯视频&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://v.qq.com/x/cover/n05165kwfy6/n05165kwfy6.html&/span&
&/a&&p&&br&&/p&&h2&&b&8.缩进你的代码块&/b&&/h2&&p&在写前端页面的时候,经常要更改一大段代码的缩进,这时候可以先用 &i&Shift + 上下键&/i& 来选择你要缩进的代码块,然后使用 &i&Tab&/i& 就能缩进啦。&/p&&p&&br&&/p&&a class=&video-box& href=&//link.zhihu.com/?target=https%3A//v.qq.com/x/cover/kq/kq.html& target=&_blank& data-video-id=&330112& data-video-playable=&true& data-name=&8缩进代码块_腾讯视频& data-poster=&https://pic3.zhimg.com/v2-b1a06e396ce.jpg& data-lens-id=&&&
&img class=&thumbnail& src=&https://pic3.zhimg.com/v2-b1a06e396ce.jpg&&&span class=&content&&
&span class=&title&&8缩进代码块_腾讯视频&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://v.qq.com/x/cover/kq/kq.html&/span&
&/a&&p&&br&&/p&&h2&&b&9.展开/收缩代码&/b&&/h2&&p&当项目写到一定规模的时候,难免方法/函数会很多,这个时候我们可以使用&/p&&p&&i&Command + Shift + -符号&/i& 来收缩代码,这个主要是为了方便查看。&/p&&p&&br&&/p&&a class=&video-box& href=&//link.zhihu.com/?target=https%3A//v.qq.com/x/cover/i05165x5smx/i05165x5smx.html& target=&_blank& data-video-id=&418560& data-video-playable=&true& data-name=&9展开/收缩代码_腾讯视频& data-poster=&https://pic1.zhimg.com/v2-fabb5d94b1e345f439a2ac.jpg& data-lens-id=&&&
&img class=&thumbnail& src=&https://pic1.zhimg.com/v2-fabb5d94b1e345f439a2ac.jpg&&&span class=&content&&
&span class=&title&&9展开/收缩代码_腾讯视频&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://v.qq.com/x/cover/i05165x5smx/i05165x5smx.html&/span&
&/a&&p&&br&&/p&&h2&&b&10.展示多个页面&/b&&/h2&&p&&br&&/p&&figure&&img src=&https://pic2.zhimg.com/50/v2-f21ad6fc87a18d7bc5a49307_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&720& data-rawheight=&312& class=&origin_image zh-lightbox-thumb& width=&720& data-original=&https://pic2.zhimg.com/50/v2-f21ad6fc87a18d7bc5a49307_r.jpg&&&/figure&&p&当你的公司不愿意为你配置2个显示屏时,你依然可以使用 PyCharm 在一个屏幕里查看多个文件。鼠标放到当前导航处的文件名,然后右键 &i&Split Vertically&/i& 或者 &i&Split Horizontally&/i& 就可以啦。&/p&&a class=&video-box& href=&//link.zhihu.com/?target=https%3A//v.qq.com/x/cover/l0516z0yiqy/l0516z0yiqy.html& target=&_blank& data-video-id=&976256& data-video-playable=&true& data-name=&_腾讯视频& data-poster=&https://pic2.zhimg.com/v2-1d987ada680bee.jpg& data-lens-id=&&&
&img class=&thumbnail& src=&https://pic2.zhimg.com/v2-1d987ada680bee.jpg&&&span class=&content&&
&span class=&title&&_腾讯视频&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://v.qq.com/x/cover/l0516z0yiqy/l0516z0yiqy.html&/span&
&/a&&p&&br&&/p&&p&&br&&/p&&p&&br&&/p&&p&&br&&/p&&p&&br&&/p&&p&——————————纠结的更新分割线——————————&/p&&p&看到大家这么喜欢很开心,想更新10个高阶一点的技巧,又有点担心太长了没人看,很纠结。不过本着对知识负责的态度,还是要更新高阶技巧的。看不完没关系,先收藏起来以后再看嘛。&/p&&h2&&b&11.IdeaVim 插件回到 VIM&/b&&/h2&&figure&&img src=&https://pic3.zhimg.com/50/v2-acab774049_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&720& data-rawheight=&728& class=&origin_image zh-lightbox-thumb& width=&720& data-original=&https://pic3.zhimg.com/50/v2-acab774049_r.jpg&&&/figure&&p&如果你是 VIM 的忠实粉丝,那么没关系,IdeaVim 插件让你能享受 PyCharm 的智能可视化功能时 还不失去 VIM 的快捷编辑 。Enjoy VIM in PyCharm!&/p&&a class=&video-box& href=&//link.zhihu.com/?target=https%3A//www.zhihu.com/video/696832& target=&_blank& data-video-id=&& data-video-playable=&true& data-name=&& data-poster=&https://pic4.zhimg.com/v2-6cbea4c0bcacb.jpg& data-lens-id=&696832&&
&img class=&thumbnail& src=&https://pic4.zhimg.com/v2-6cbea4c0bcacb.jpg&&&span class=&content&&
&span class=&title&&&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://www.zhihu.com/video/696832&/span&
&/a&&p&&br&&/p&&h2&&b&12. 设置代码模板&/b&&/h2&&p&设置代码模版是个非常实用的技巧,通过代码模版我们可以指定新建代码文件诸如解释器路径、文件编码方法、版权、作者等通用信息。&/p&&p&&br&&/p&&a class=&video-box& href=&//link.zhihu.com/?target=https%3A//www.zhihu.com/video/080704& target=&_blank& data-video-id=&& data-video-playable=&true& data-name=&& data-poster=&https://pic3.zhimg.com/v2-40cb12a89fd5b0477ecc0a4f.jpg& data-lens-id=&080704&&
&img class=&thumbnail& src=&https://pic3.zhimg.com/v2-40cb12a89fd5b0477ecc0a4f.jpg&&&span class=&content&&
&span class=&title&&&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://www.zhihu.com/video/080704&/span&
&/a&&p&&br&&/p&&h2&&b&13. 函数调用层级可视化&/b&&/h2&&p&&br&&/p&&figure&&img src=&https://pic1.zhimg.com/50/v2-f8e32f5cedd4f5f751d97_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&720& data-rawheight=&711& class=&origin_image zh-lightbox-thumb& width=&720& data-original=&https://pic1.zhimg.com/50/v2-f8e32f5cedd4f5f751d97_r.jpg&&&/figure&&p&在大型项目中,函数调用关系及其复杂时,若我们要从整体上理清业务的逻辑关系,那么关键函数的调用层级信息则非常重要。&/p&&a class=&video-box& href=&//link.zhihu.com/?target=https%3A//v.qq.com/x/cover/u1319g8fad7/u1319g8fad7.html& target=&_blank& data-video-id=&074112& data-video-playable=&true& data-name=&Pycharm 操作03_腾讯视频& data-poster=&https://pic4.zhimg.com/v2-4ecbb19fd5d755b997b7cd7.jpg& data-lens-id=&&&
&img class=&thumbnail& src=&https://pic4.zhimg.com/v2-4ecbb19fd5d755b997b7cd7.jpg&&&span class=&content&&
&span class=&title&&Pycharm 操作03_腾讯视频&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://v.qq.com/x/cover/u1319g8fad7/u1319g8fad7.html&/span&
&/a&&p&&br&&/p&&h2&&b&14. 实时显示文档和函数参数&/b&&/h2&&p&当你在默默写着代码时,突然发现自己忘记了正使用的库函数定义和参数时,你会怎么办,切出到浏览器里搜索该函数吗?NO,PyCharm 提供了更好的方法,只需要一键即可显示出该函数的定义,并且可以实时显示出参数。在 PyCharm 中, 通过快捷键 &i&F1&/i& 可以调出光标处函数文档,&i&Command+P&/i& 可以显示出光标处函数参数。&/p&&a class=&video-box& href=&//link.zhihu.com/?target=https%3A//v.qq.com/x/cover/t0516rqntvo/t0516rqntvo.html& target=&_blank& data-video-id=&071616& data-video-playable=&true& data-name=&14. 实时显示文档和函数参数_腾讯视频& data-poster=&https://pic1.zhimg.com/v2-161cd053c3e93d37af5db00caf6c0e04.jpg& data-lens-id=&&&
&img class=&thumbnail& src=&https://pic1.zhimg.com/v2-161cd053c3e93d37af5db00caf6c0e04.jpg&&&span class=&content&&
&span class=&title&&14. 实时显示文档和函数参数_腾讯视频&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://v.qq.com/x/cover/t0516rqntvo/t0516rqntvo.html&/span&
&/a&&p&&br&&/p&&h2&&b&15. 超实用搜索 Search Everywhere&/b&&/h2&&p&提到搜索,不得不表扬下 PyCharm 的 &i&Search Everywhere&/i& 功能,你可以搜索到整个项目中(包括库文件)所有类、文件、符号(变量、函数)等,非常方便。当然它也支持你单独搜索类、文件或符号。&/p&&a class=&video-box& href=&//link.zhihu.com/?target=https%3A//v.qq.com/x/cover/o131975dqnf/o131975dqnf.html& target=&_blank& data-video-id=&219008& data-video-playable=&true& data-name=&Pycharm 操作05_腾讯视频& data-poster=&https://pic2.zhimg.com/v2-65c8c051f21b87b28c0704a4fcc89271.jpg& data-lens-id=&&&
&img class=&thumbnail& src=&https://pic2.zhimg.com/v2-65c8c051f21b87b28c0704a4fcc89271.jpg&&&span class=&content&&
&span class=&title&&Pycharm 操作05_腾讯视频&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://v.qq.com/x/cover/o131975dqnf/o131975dqnf.html&/span&
&/a&&p&&br&&/p&&h2&&b&16. DEBUG&/b&&/h2&&p&试想下,Python 怎么进行调试呢?pdb,没错,这个和 gdb 类似的工具。那么一般如何使用, 一种常见的方式是在需要加入断点的地方插入 &i& pdb.set_trace()&/i&, 然后再正常运行脚本, 程序会自动在设置断点处停下来。 在 PyCharm 中,你可以像使用 VC++调试 C/C++代码那样来调试 Python,这种既视感可是很舒服的。&/p&&a class=&video-box& href=&//link.zhihu.com/?target=https%3A//v.qq.com/x/cover/e1319ffgcd4/e1319ffgcd4.html& target=&_blank& data-video-id=&392000& data-video-playable=&true& data-name=&Pycharm 操作06_腾讯视频& data-poster=&https://pic3.zhimg.com/v2-dca740aad7a.jpg& data-lens-id=&&&
&img class=&thumbnail& src=&https://pic3.zhimg.com/v2-dca740aad7a.jpg&&&span class=&content&&
&span class=&title&&Pycharm 操作06_腾讯视频&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://v.qq.com/x/cover/e1319ffgcd4/e1319ffgcd4.html&/span&
&/a&&p&&br&&/p&&h2&&b&17. 智能重构&/b&&/h2&&figure&&img src=&https://pic3.zhimg.com/50/v2-c54e3d09d2ff7a8ce8fddf3d1e298fae_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&720& data-rawheight=&592& class=&origin_image zh-lightbox-thumb& width=&720& data-original=&https://pic3.zhimg.com/50/v2-c54e3d09d2ff7a8ce8fddf3d1e298fae_r.jpg&&&/figure&&p&某日产品经理丢来一个需求,要求一周搞定,然后你每晚加班到凌晨辛勤工作来搞定这个需求,时间刚好过去一半,产品经理又来找你了,“我们这个需求能否做点小调整”,当你听到这个消息时,你的心里应该隐隐感觉到不妙。是的,产品经理可不管你之前代码 import 依赖有多复杂,函数或者变量或者类的命名是否贴切,代码文件路径是否合适......So,幸好 PyCharm 有智能的 Refactor 功能, 让你轻松重构函数、类,变换路径,更改文件名等等操作。&/p&&a class=&video-box& href=&//link.zhihu.com/?target=http%3A//v.youku.com/v_show/id_XMjgzOTQzMTE4OA%3D%3D.html& target=&_blank& data-video-id=&894208& data-video-playable=&true& data-name=&7智能重构& data-poster=&& data-lens-id=&&&
&img class=&thumbnail& src=&&&&span class=&content&&
&span class=&title&&7智能重构&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&http://v.youku.com/v_show/id_XMjgzOTQzMTE4OA==.html&/span&
&/a&&p&&br&&/p&&h2&&b&18. 快捷生成单元测试模板&/b&&/h2&&figure&&img src=&https://pic4.zhimg.com/50/v2-1dba6ab19e88ebdd8ff58_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&720& data-rawheight=&610& class=&origin_image zh-lightbox-thumb& width=&720& data-original=&https://pic4.zhimg.com/50/v2-1dba6ab19e88ebdd8ff58_r.jpg&&&/figure&&p&单元测试是每个程序员都无法逾越的一道鸿沟,甚至单元测试覆盖率也会用来评估软件的健壮性。PyCharm 则提供了快速生成单元测试模版的方法。当然,PyCharm 只是帮你生成了单元测试的基础代码,测试的逻辑还是需要自己码的。&/p&&a class=&video-box& href=&//link.zhihu.com/?target=https%3A//v.qq.com/x/cover/vg/vg.html& target=&_blank& data-video-id=&559872& data-video-playable=&true& data-name=&PyCharm 08_腾讯视频& data-poster=&https://pic1.zhimg.com/v2-3abb7901484.jpg& data-lens-id=&&&
&img class=&thumbnail& src=&https://pic1.zhimg.com/v2-3abb7901484.jpg&&&span class=&content&&
&span class=&title&&PyCharm 08_腾讯视频&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://v.qq.com/x/cover/vg/vg.html&/span&
&/a&&p&&br&&/p&&h2&&b&19. 图形化 VSC 操作之 git&/b&&/h2&&p&git 作为程序员代码版本管理利器,广为程序员使用。但如果你对记忆 git 一堆堆命令比较头痛的话,那么 PyCharm 的图形化 VCS 将是你的拯救者。PyCharm 的 VCS 支持 git 和 svn,并通过图形界面方式提供了你所能想到的功能,而且界面简洁,易于操作。&/p&&a class=&video-box& href=&//link.zhihu.com/?target=https%3A//v.qq.com/x/cover/x0516clxk7p/x0516clxk7p.html& target=&_blank& data-video-id=&180544& data-video-playable=&true& data-name=&19. 图形化 VSC 操作之 git_腾讯视频& data-poster=&https://pic3.zhimg.com/v2-ca7fdd993a59d8309eeb3d2.jpg& data-lens-id=&&&
&img class=&thumbnail& src=&https://pic3.zhimg.com/v2-ca7fdd993a59d8309eeb3d2.jpg&&&span class=&content&&
&span class=&title&&19. 图形化 VSC 操作之 git_腾讯视频&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://v.qq.com/x/cover/x0516clxk7p/x0516clxk7p.html&/span&
&/a&&p&&br&&/p&&h2&&b&20. 利用 ssh 远程部署&/b&&/h2&&p&一般参与开发的大型项目时,个人负责的小组件都可能会依赖其它组建才能运行起来,而其它组建又比较复杂而不便于本地部署时,你会怎么办?是选择每次修改后,手动打包拷贝到远程服务器,在远程服务器上解压部署;还是希望在编辑器中修改之后,编辑器自动同步到远程服务器呢。不出意外,你会选择后者,而 PyCharm 则帮你实现了,你只需要配置一次,即可一劳永逸。&/p&&a class=&video-box& href=&//link.zhihu.com/?target=https%3A//v.qq.com/x/cover/dzu/dzu.html& target=&_blank& data-video-id=&753984& data-video-playable=&true& data-name=&Pycharm 操作10_腾讯视频& data-poster=&https://pic2.zhimg.com/v2-ef2657aab432f54b4fd6cc647d406e2d.jpg& data-lens-id=&&&
&img class=&thumbnail& src=&https://pic2.zhimg.com/v2-ef2657aab432f54b4fd6cc647d406e2d.jpg&&&span class=&content&&
&span class=&title&&Pycharm 操作10_腾讯视频&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://v.qq.com/x/cover/dzu/dzu.html&/span&
&/a&&hr&&p&打个广告:&/p&&p&如果你和当初的我一样,迫不及待想要做点东西、却还是个新手,那么可以试试我为你设计的这门课《实用主义学 Python》:&/p&&a href=&//link.zhihu.com/?target=https%3A//www.mugglecode.com/practical& data-draft-node=&block& data-draft-type=&link-card& data-image=&https://pic2.zhimg.com/v2-b474e0b8a8af17ec0d670b88bf989891_ipico.jpg& data-image-width=&466& data-image-height=&525& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&实用主义学Python-27天挑战27个新手项目&/a&&p&从 7 行代码的脚本项目开始,逐渐叠加复杂度,直到解决真实世界的复杂问题。&/p&&p&编程语言是个工具,只有当情境复杂时才会用到工具的高级功能,这是我的教学方法,而不是先停下来去学习瑞士军刀的100种用法,却不上手做点什么。&/p&&p&如果你没有任何语法基础,可以在学这门课之前,先看看这门免费的小白入门课:&/p&&a href=&//link.zhihu.com/?target=https%3A//www.mugglecode.com/introduce& data-draft-node=&block& data-draft-type=&link-card& data-image=&https://pic1.zhimg.com/v2-743a4cbe7ae46e9003d28bc_180x120.jpg& data-image-width=&1440& data-image-height=&695& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&麻瓜编程 - 实用主义学编程&/a&&p&同样是以练习和使用为主,并且有大量图解,每一页都抓注意力,更适合不喜欢读太多字/听冗长视频的人以及像我一样的 ADD。&/p&&p&最后,祝大家都能写更多代码,做更多事情。&/p&
为 PyCharm 新手整理了最常用的10个小技巧,能帮你省下不少时间。0. 常用快捷键先上两张速查图,可以设为桌面或者打印出来放在手边,想不起来时瞄一眼,很快就能记住常用快捷键了。 1. 查看使用库源码 经常听人说,多看源码。源码不仅能帮我们搞清楚运行机…
&figure&&img src=&https://pic2.zhimg.com/v2-3cf2ba86f9dfb41f178c_b.jpg& data-rawwidth=&960& data-rawheight=&633& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&https://pic2.zhimg.com/v2-3cf2ba86f9dfb41f178c_r.jpg&&&/figure&&h2&&b&0. 背景&/b&&/h2&&p&写这篇教程的初衷是很多朋友都想了解&b&如何入门/转行机器学习&/b&,搭上人工智能这列二十一世纪的快车。&b&文章的宗旨是:1. 指出一些自学的误区 2. 不过多的推荐资料 3. 提供客观可行的学习表 4. 给出进阶学习的建议。&/b&&/p&&p&这篇文章的&b&目标读者&/b&是计划零基础自学的朋友,对数学/统计/编程基础要求不高,比如:&/p&&ul&&li&在读学生&/li&&li&非计算机行业的读者&/li&&li&已经工作但想将机器学习/数据分析和自己的本职工作相结合的朋友&/li&&/ul&&p&因此,这篇文章对于已经身处机器学习领域可能帮助不大。同时再次声明这只是我的个人看法,请大家有选择的性阅读,探索适合自己的学习方法。&/p&&h2&&b&1. 自学机器学习的误区和陷阱&/b&&/h2&&p&&b&1.1. 不要试图掌握所有的相关数学知识再开始学习&/b&&/p&&p&在很多&a href=&https://www.zhihu.com/question//answer/& class=&internal&&相关的回答&/a&中,我都一再强调不要试图补足数学知识再开始学习机器学习。一般来说,大部分机器学习课程/书籍都要求:&/p&&ul&&li&线性代数:矩阵/张量乘法、求逆,奇异值分解/特征值分解,行列式,范数等&/li&&li&统计与概率:概率分布,独立性与贝叶斯,最大似然(MLE)和最大后验估计(MAP)等&/li&&li&优化:线性优化,非线性优化(凸优化/非凸优化)以及其衍生的求解方法如梯度下降、牛顿法、基因算法和模拟退火等&/li&&li&微积分:偏微分,链式法则,矩阵求导等&/li&&li&信息论、数值理论等&/li&&/ul&&p&一般人如果想要把这些知识都补全再开始机器学习往往需要很长时间,容易半途而废。而且这些知识是工具不是目的,我们的目标不是成为优化大师。&b&建议在机器学习的过程中哪里不会补哪里,这样更有目的性且耗时更低。&/b&&/p&&p&&b&1.2. 不要把深度学习作为入门第一课&/b&&/p&&p&虽然很多人都是冲着深度学习来的,但把深度学习作为机器学习第一课不是个好主意。原因如下:&/p&&ul&&li&深度学习的黑箱性更加明显,很容易学得囫囵吞枣&/li&&li&深度学习的理论/模型架构/技巧还在一直变化当中,并未尘埃落定&/li&&li&深度学习实验对硬件要求高,不太适合自学或者使用个人电脑进行学习&/li&&/ul&&p&更多讨论可以看我的回答:&a href=&https://www.zhihu.com/question//answer/& class=&internal&&深度学习的教学和课程,与传统 CS 的教学和课程有什么区别?&/a&&/p&&p&&b&1.3. 不要收集过多的资料 & 分辨资料的时效性&/b&&/p&&p&机器学习的资料很多,动辄就有几个G的材料可以下载或者观看。而很多朋友都有“收集癖”,一下子购买十几本书的人我也常常能够看到。&/p&&p&机器学习的发展和变化速度很快。在入门期间,&b&建议“小而精”的选择资料,选择近期出版的且口碑良好的书籍&/b&。我不止一次的提到这个例子:&/p&&blockquote&在很多深度学习的教科书中,尤其是10年以前的教科书中都还依然把Sigmoid当作默认的激活函数。但事实上,整流函数(ReLu)以及其拓展变形函数,如Leaky ReLu早就成为了主流的深度学习激活函数。但因为知识的滞后性,很多课程/书籍甚至都没有介绍ReLu的章节。&/blockquote&&p&一般来说,我比较推荐近5年内出版的书籍,或者10年以后出版的书籍。有些书籍虽然是经典,比如Tom Mitchell的《机器学习》,但因为其出版已经超过20年,还是不建议大家购买。&/p&&p&在这篇文章中我所推荐的书籍和课程都相对比较经典,同时属于紧跟时代潮流的。入门阶段我推荐了1门课程和2本书,进阶阶段推荐了1本书,深度学习推荐了1门课程一本书,高级阶段推荐了2本额外书籍。&/p&&h2&&b&2. 机器学习的一些前期准备&/b&&/h2&&p&&b&2.1. 硬件选择&/b&&/p&&p&另一个大家常问的问题是:是否可以用自己的笔记本电脑进行机器学习。答案是肯定的,大部分市面上的数据集都可以放到你的内存中运行。在入门阶段,我们很少会用到非常大的数据集,一般最大也就是MNIST,完全可以使用个人笔记本电脑进行运行。在Windows笔记本上也可以用GPU进行深度学习,参见我的教程:&a href=&http://zhuanlan.zhihu.com/p/& class=&internal&&用GPU加速深度学习: Windows安装CUDA+TensorFlow教程&/a&。&b&请不要打着学习的名义重新购买机器...&/b&&/p&&p&&b&2.2. 软件选择&/b&&/p&&p&如果要做深度学习,Linux还是首选,因为其对很多学习模型支持比较好(主要是深度学习的Library)。但即使你使用的是Windows系统,也可以用虚拟机装Ubuntu来进行学习。小型的深度学习模型足够了,大型的深度学习我们很少在本地/个人计算机上运行。&/p&&p&至于编程语言,首推Python,因为其良好的拓展支持性,主流的工具包都有Python版本。在特定情况下,选择R作为编程语言也是可以的。其他可能的语言还包括C++、Java和Matlab,但我个人不大推荐。&/p&&p&此处也想额外提一句,因为编程属于机器学习基本要求之一,所以推荐大家可以自学一些基础编程的知识(如Python),在文中不再赘述。&/p&&p&&b&2.3. 语言能力&/b&&/p&&p&学好英语,至少打下阅读和听力的基础。&b&虽然人工智能领域中国现在已经做得很不错,但主流的书籍、期刊和会议,资料都是英文的&/b&。我们可以接受翻译版,但最好的方法还是自己有能力直接阅读。即使你将来不做机器学习,英文阅读能力还是会有很大的帮助。&/p&&h2&&b&3. 机器学习课程表&/b&&/h2&&h2&3.1. 第一阶段:基础入门(3-6个月)&/h2&&p&入门的第一步是学习一些经典课程并配套经典书籍,一般来说这个过程在半年之内比较合适。在这个部分我介绍的课程和书籍都属于难度非常低的,对数学和编程都没什么太大的要求。&/p&&p&&b&3.1.1. 吴恩达Cousera机器学习课程&/b&&/p&&p&Andrew Ng的机器学习课程(&a href=&http://link.zhihu.com/?target=https%3A//www.coursera.org/learn/machine-learning& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Machine Learning | Coursera&/a&)是很多人的启蒙课程,难度适中且完全免费。Coursera上总共有49285个人给出了评分,平均得分4.9分,满分5分。据我个人观察,大部分Coursera上的课程评分处于4-4.5分之间,能做到4.9分的课程寥寥无几。另一个值得关注的是,这门课有接近五万人给出评分,统计学知识告诉我们这个样本较大所以评分应该趋近于其真实值,比较可信。根据Freecodecamp的&a href=&http://link.zhihu.com/?target=https%3A//medium.freecodecamp.org/every-single-machine-learning-course-on-the-internet-ranked-by-your-reviews-3c4a7b8026c0& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&统计&/a&,这门课是所有在线Machine Learning课程中最受到大家好评的课程。另一个比较直接的观察是如果大家在知乎上搜索“机器学习如何入门?”,大部分答案都提到了Andrew的这门入门课程,所以这是一门绝对的口碑课程,详细讨论可以参考:&a href=&https://www.zhihu.com/question//answer/& class=&internal&&微调:为何国人迷恋吴恩达的机器学习课?&/a&。&/p&&p&&b&3.1.2. Python机器学习 & Introduction to Statistical Learning with R&/b&&/p&&p&在学习吴恩达的在线课程时,推荐同时阅读相关的机器学习书籍&b&补充理论知识&/b&。我再次推荐这两本非常好的入门书籍,在我的专栏也有对于这两本书的介绍。&/p&&ul&&li&&b&Python机器学习&/b&:这本书出版于2015年并多次再版,在亚马逊中国上我们可以找到影印版和翻译版。这本书去掉了大量的数学推导的部分,仅保留了机器学习的核心应用。阅读本书可以快速对如何使用Python机器学习框架Sklearn有一个基本的了解,可以很快上手开始工作。本书涉及的内容很广泛,虽然只有400多页,但内容涉及了数据预处理(Data Preprocessing), 维度压缩和核函数(Dimension Reduction & Kernel),评估方法如交叉验证,集成学习,情感分析,聚类,甚至还包括了神经网络和Theano。更多介绍:&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&带你读机器学习经典(三): Python机器学习(Chapter 1&2)&/a&&/li&&li&&b&Introduction to Statistical Learning with R(ISL)&/b&:相信正在机器学习苦海中遨游的朋友们肯定都听过大名鼎鼎的The Element of Statistical Learning, 这本频率学派的统计学习“圣经”被大家叫做ESL。而ISL正是基于满足更广大阅读人群的目的而推出的;ISL是ESL的入门版,不仅大量的去除了繁复的数学推导,还加入了R编程的部分,方便大家可以尽快上手。&b&这本书是我推荐书单第一名&/b&:ISL的电子版是免费的:&a href=&http://link.zhihu.com/?target=http%3A//www-bcf.usc.edu/%7Egareth/ISL/ISLR%2520First%2520Printing.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&点击下载&/a&。更多介绍:&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&带你读机器学习经典(一): An Introduction to Statistical Learning (Chapter 1&2)&/a&&/li&&/ul&&p&&b&3.1.3. 周志华《机器学习》&/b&&/p&&p&周志华老师的《机器学习》也被大家亲切的叫做“西瓜书”。虽然只有几百页,但内容涵盖比较广泛。然而和其他人的看法不同&b&,我建议把西瓜书作为参考书而不是主力阅读书&/b&。西瓜书因为篇幅的限制,涵盖了很多的内容但无法详细的展看来讲,对于初学者自学来说实际阅读难度很大。这本书更适合作为学校的教材或者中阶读者自学使用,入门时学习这本书籍难度稍微偏高了一些。&/p&&p&我个人建议的用法是在学习网课和阅读ISL遇到疑惑时可以参考西瓜书的相关章节,但入门阶段没有必要一章一章的阅读,建议在这个阶段只阅读前十章即可。&/p&&h2&3.2. 第二阶段:进阶学习(3-6个月)&/h2&&p&在这个阶段,你已经对机器学习有了基本的了解。如果你认真的阅读了ISL并上完了吴恩达的课程,我相信你已经在理论上明白了什么是线性回归,什么是数据压缩,对特征工程以及简单的回归/预测问题有了理论上的基础。这个时候最重要的就是进行实践!&/p&&p&&b&3.2.1. Kaggle挑战赛/练习&/b&&/p&&p&Kaggle(&a href=&http://link.zhihu.com/?target=https%3A//www.kaggle.com/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Your Home for Data Science&/a&)在数据分析领域早已大名鼎鼎,甚至可以说是数据分析第一社区,前一阵子刚刚被谷歌收购。Kaggle上有很多很好的数据集和挑战赛,你可以尝试这些挑战取得名次,甚至拿到奖金,对于将来找工作也非常有帮助。而且Kaggle的另一大优势是网友会分享他们的经验和看法,你也可以提出问题让大家来帮你提出一些修正方法。&/p&&p&国内也有类似的平台,比如天池大数据竞赛,其他类似的平台还包括DataCastle。&/p&&p&&b&使用Kaggle的目的主要是将技能落在实处,防止练就一身屠龙之技。机器学习最大的幻觉就是觉得自己什么都懂了,但等到真的使用时发现并不奏效&/b&,而Kaggle是一个低成本的应用机器学习的机会。&/p&&p&&b&3.2.2. Sklearn文档学习&/b&&/p&&p&Sklearn(&a href=&http://link.zhihu.com/?target=http%3A//scikit-learn.org/stable/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&scikit-learn: machine learning in Python&/a&)是Python上最流行的机器学习/数据科学工具包,上文介绍的Python Machine Learning书中就大量使用Sklearn的API。和使用Kaggle的目的一致,学习的Sklearn的文档也是一种实践过程。比较推荐的方法是把主流机器学习模型Sklearn中的例子都看一遍。&/p&&p&Sklearn的文档是少数写的跟教程一样的技术文档,很具有阅读价值。举个简单的例子,假设你想学习Python中使用逻辑回归,就可以参考: &a href=&http://link.zhihu.com/?target=http%3A//scikit-learn.org/stable/auto_examples/linear_model/plot_iris_logistic.html%23sphx-glr-auto-examples-linear-model-plot-iris-logistic-py& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Logistic Regression 3-class Classifier&/a&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-a22ac489e184ca380bb6_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&400& data-rawheight=&300& class=&content_image& width=&400&&&/figure&&p&Sklearn的文档不仅提供了练习数据、sklearn的相关代码实例,还提供了可视化图。&/p&&p&&b&3.2.2. 周志华机器学习&/b&&/p&&p&再次提到周老师是因为西瓜书是值得常常翻看的一本书,在kaggle挑战和阅读Sklearn文档的过程中你还会时不时的遇到一些新的名词,比如流形学习(manifold learning)等。这个时候你会发现西瓜书真的是一本中级阶段大而全的书籍:)&/p&&h2&3.3. 第三阶段(可选*):深度学习(3-6个月) &/h2&&p&因为深度学习是当下的热点,很多公司都在寻找深度学习人才。虽然深度学习只是机器学习的一个子集,但有兴趣朝这个方向发展的朋友可以在完成以上学习后单独学习一下深度学习。&/p&&p&&b&3.3.1. 吴恩达深度学习课程&/b&&/p&&p&吴恩达在八月份的时候通过Deeplearning.ai和Coursera平台推出了最新系列的五门深度学习课程(&a href=&http://link.zhihu.com/?target=https%3A//www.deeplearning.ai/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&deeplearning.ai&/a&)。有条件的朋友可以通过Coursera学习获得证书,最近网易云课堂也上线了这门课的翻译版。如果想要上其中的课程,需要先注册报名「深度学习工程师微专业」 &a href=&http://link.zhihu.com/?target=http%3A//mooc.study.163.com/smartSpec/detail/.htm& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&深度学习工程师微专业 - 一线人工智能大师吴恩达亲研-网易云课堂 - 网易云课堂&/a&,之后就可以分别点开每门课单独进行学习。&/p&&p&更多关于网易云课堂上深度学习课程的介绍可以看:&a href=&https://www.zhihu.com/question//answer/& class=&internal&&如何评价网易云课堂上线的吴恩达Deep Learning课程?&/a&&/p&&p&&b&3.3.2. Deep Learning -
by Ian GoodFellow&/b&&/p&&p&深度学习这本书是由当下深度学习领域的几位领军人物所著,包含三大巨头之一的Bengio,还有教父Hinton来作序推荐。这本书的中文本翻译由张志华教授团队负责,在github上免费放出了翻译版本,印刷版也可以从亚马逊中国上买到。&/p&&p&英文版:&a href=&http://link.zhihu.com/?target=http%3A//www.deeplearningbook.org/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Deep Learning&/a&&/p&&p&中文版:&a href=&http://link.zhihu.com/?target=https%3A//github.com/exacity/deeplearningbook-chinese& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&exacity/deeplearningbook-chinese&/a&&/p&&p&这本书的阅读建议:&/p&&ul&&li&为了补充基础可以阅读第1-5章其中也包含了一些数学知识&/li&&li&只关注主流神经网络知识可以阅读6-10章,介绍了DNN/CNN/RNN&/li&&li&需要进一步了解一些调参和应用技巧,推荐阅读11和12章&/li&&/ul&&p&第13-20章为进阶章节,在入门阶段没有必要阅读。其实比较实际的做法是吴恩达的课程讲到什么概念,你到这本书里面可以阅读一些深入的理论进行概念加深,按章节阅读还是比较耗时耗力的。&/p&&h2&3.4. 第四阶段:深入研究&/h2&&p&恭喜你!如果你已经完成了上面的计划表,代表你已经有了相当的机器学习能力。这个阶段,最重要的就是不要贪多嚼不烂。如果你浏览知乎,会发现大家都说你必须读Elements of Statistical Learning, MLAPP之类的大部头。我承认阅读这样的书会有帮助,但在你有了一定的基础知识后,相信你已经知道自己需要接着做什么了也有了志同道合的朋友,我希望把选择权交还给你,而不是继续推荐成堆的课程和书籍。当然,如果你希望继续深入的话,中文可以继续阅读周志华老师的《机器学习》和李航老师的《统计学习基础》,英文可以入手《Elements of Statistical Learning》。&b&在这个阶段,重点要形成成体系的知识脉络,切记贪多嚼不烂,切记!&/b&&/p&&p&从阅读论文角度来说,订阅Arxiv,关注机器学习的顶级会议,如ICML/NIPS/KDD等,相关的方法在知乎上可以很容易搜索到,不在此赘述。&/p&&h2&&b&4. 实践经验&/b&&/h2&&p&&b&4.1. 研究经历&/b&&/p&&p&如果你还是学生,尝试尽早接触科研,进实验室。一般来说,大三的时候你应该已经有了基本的机器学习知识,尽管还比较浅。这个时候可以向老师/学长/学姐毛遂自荐进实验室,即使是无偿劳动和做基本的苦力活。进实验室有两个明显的好处:&/p&&ul&&li&&b&对某个小方向会有比较深入的了解&/b&。一般实验室做纯理论的不大需要本科生,做机器视觉或者自然语言处理(NLP)等小方向的比较需要本科生,所以这是很好的深入了解一个方向的机会。&/li&&li&补充了研究经历也可以明白自己是否适合这个领域。如果运气好的话,你也有可能成为论文的作者之一,甚至可以去开会(公款旅游顺道见一下业内大佬)。&b&这对于继续深造和去国外继续学习都很有帮助,有科研经历和论文是很大的筹码,对于找工作来说也绝对有利无害。&/b&&/li&&/ul&&p&&b&4.2. 企业实习&/b&&/p&&p&上文提到过,机器学习光说不练假把式,最好的方法还是要实践。&b&因此,应该先试着做科研,再尝试工业界实习。对待科研机会,有则就上,没有也不是太大的遗憾。&/b&我建议大部分做机器学习的朋友尽早实习,主要出于以下几个考量:&/p&&ul&&li&&b&打破幻想,了解工业界的主流模型&/b&。在其他很多答案中我都提到过,其实工业界用的大部分技术并不酷炫,你很少能看到深度强化学习那种AlphaGo一样酷炫的模型。不夸张的说,广义线性模型(generalized linear models)还是占据了大壁江山,这要归功于其良好的解释能力。从神经网络角度出发,一般也逃不过普通任务深度网络、视觉任务卷积网络CNN、语音和文字任务LSTM的套路。&/li&&li&&b&补上学术界忽视的内容,比如可视化和数据清洗&/b&。工业界的最终目的是输出商业价值,而获得商业洞见的过程其实是非常痛苦的,比如第一步就是令人深恶痛绝的数据清洗。毫不夸张的说,工业界百分之六十的时间都在清理数据,这和学术界干净且规则化的现成数据完全不同。没有在工业界体验过的人,无法真的了解原来机器学习从头到尾有那么多陷阱,泛化能力只是终极目标,而往往我们连规整的数据都无法得到。&/li&&li&&b&了解技术商业化中的取舍,培养大局观&/b&。做技术的人往往一头扎进技术里面,而忽视了从全局思考。举个例子,模型A的准确率95.5%,每次训练时间是3天,需要6台有GPU的服务器。而模型B的准确率是百分之95.2%,但只需要一台普通的macbook训练4个小时就可以了。从学术角度出发我们往往追求更好的模型结果选A,而工业界还要考虑到训练开销、模型可解释性、模型稳定度等。到工业界实习不仅可以培养大家的宏观掌控能力,对将来自己带学生控制开销或者选题也大有帮助&/li&&/ul&&p&&b&4.3. 在本职工作中使用机器学习&/b&&/p&&p&对于大部分已经工作的朋友来说,重新回到学校攻读学位并不现实,进研究室进行学习更是缺少机会。那么这个时候,你就可以试着把机器学习应用到你自己的工作当中。&/p&&p&已经有了工作/研究经验的朋友,要试着将自己的工作经历利用起来。举例,不要做机器学习里面最擅长投资的人,而要做金融领域中最擅长机器学习的专家,这才是你的价值主张(value proposition)。最重要的是,机器学习的基本功没有大家想的那么高不可攀,没有必要放弃自己的本专业全职转行,沉没成本太高。通过跨领域完全可以做到曲线救国,化劣势为优势,你们可能比只懂机器学习的人有更大的行业价值。&/p&&p&举几个我身边的例子,我的一个朋友是做传统软件工程研究的,前年他和我商量如何使用机器学习以GitHub上的commit历史来识别bug,这就是一个很好的结合领域的知识。如果你本身是做金融出身,在你补足上面基本功的同时,就可以把机器学习交叉运用于你自己擅长的领域,做策略研究,我已经听说了无数个“宣称”使用机器学习实现了交易策略案例。虽不可尽信,但&b&对特定领域的深刻理解往往就是捅破窗户的那最后一层纸,只理解模型但不了解数据和数据背后的意义,导致很多机器学习模型只停留在好看而不实用的阶段&/b&。&/p&&h2&&b&5. 写在最后&/b&&/h2&&p&虽然人们曾说二十一是生物的世纪,但现在还是人工智能的世纪。欢迎大家来试试机器学习,体验数据分析的魅力。&/p&&p&就像我曾在很多回答中提到,机器学习领域应该要敞开大门,让每个人都可以尝试将机器学习知识应用于他们原本的领域,摒弃人为制造的知识壁垒。唯有这样,机器学习技术才能在更多的不同领域落地,从而反哺机器学习研究本身。&/p&&p&科技日新月异,追逐热点是好的。但在这个浮躁的时代,&b&不管选择什么方向最重要的就是独立思考的能力,和去伪存真的勇气。因此,看了这么多入门教程和经验分享后,我最希望的是你既不要急着全盘接受,也不要因为不对胃口全盘否定。慢下来,好好想想,制定适合自己的计划,这大概才是做科学工作的正确态度。&/b&&/p&&p&&b&在思考之后,拒绝外界的噪音,无论是鼓励还是嘲笑。抱着“不撞南山不回头”的信念,继续朝机器学习的高峰攀登。好运!&/b&&/p&&p&&br&&/p&&hr&&p&拓展阅读:&/p&&p&1. &a href=&https://www.zhihu.com/question//answer/& class=&internal&&计算机专业学生在大学四年内可以做些什么来丰富简历?&/a&&/p&&p&2. &a href=&https://www.zhihu.com/question//answer/& class=&internal&&未来 3~5 年内,哪个方向的机器学习人才最紧缺?&/a&&/p&&p&3. &a href=&https://www.zhihu.com/question//answer/& class=&internal&&现在机器学习工业界和学术界的差别越来越大了吗?尽早实习和踏实科研各有什么利弊?&/a&&/p&&p&图片来源:&a href=&http://link.zhihu.com/?target=https%3A//pixabay.com/en/boys-school-teacher-education-asia-1782427/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Free Image on Pixabay - Boys, School, Teacher, Education&/a&&/p&&p&&/p&
0. 背景写这篇教程的初衷是很多朋友都想了解如何入门/转行机器学习,搭上人工智能这列二十一世纪的快车。文章的宗旨是:1. 指出一些自学的误区 2. 不过多的推荐资料 3. 提供客观可行的学习表 4. 给出进阶学习的建议。这篇文章的目标读者是计划零基础自学的…
我从一个非常直观的角度来解释一下熵的定义为什么如题主所示。&br&&br&第一,假设存在一个随机变量&img src=&//www.zhihu.com/equation?tex=x& alt=&x& eeimg=&1&&,可以问一下自己当我们观测到该随机变量的一个样本时,我们可以接受到多少信息量呢?毫无疑问,当我们被告知一个极不可能发生的事情发生了,那我们就接收到了更多的信息;而当我们观测到一个非常常见的事情发生了,那么我们就接收到了相对较少的信息量。因此信息的量度应该依赖于概率分布&img src=&//www.zhihu.com/equation?tex=p%28x%29& alt=&p(x)& eeimg=&1&&,&b&所以说熵&img src=&//www.zhihu.com/equation?tex=h%28x%29& alt=&h(x)& eeimg=&1&&的定义应该是概率的单调函数。&/b&&br&&br&第二,假设两个随机变量&img src=&//www.zhihu.com/equation?tex=x& alt=&x& eeimg=&1&&和&img src=&//www.zhihu.com/equation?tex=y& alt=&y& eeimg=&1&&是相互独立的,那么分别观测两个变量得到的信息量应该和同时观测两个变量的信息量是相同的,即:&img src=&//www.zhihu.com/equation?tex=h%28x%2By%29%3Dh%28x%29%2Bh%28y%29& alt=&h(x+y)=h(x)+h(y)& eeimg=&1&&。而从概率上来讲,两个独立随机变量就意味着&img src=&//www.zhihu.com/equation?tex=p%28x%2Cy%29%3Dp%28x%29p%28y%29& alt=&p(x,y)=p(x)p(y)& eeimg=&1&&,&b&所以此处可以得出结论熵的定义&img src=&//www.zhihu.com/equation?tex=h& alt=&h& eeimg=&1&&应该是概率&img src=&//www.zhihu.com/equation?tex=p%28x%29& alt=&p(x)& eeimg=&1&&的&img src=&//www.zhihu.com/equation?tex=log%0A& alt=&log
& eeimg=&1&&函数。&/b&因此一个随机变量的熵可以使用如下定义:&br&&img src=&//www.zhihu.com/equation?tex=%5C%5Bh%28x%29%3D-log_2p%28x%29%5C%5D& alt=&\[h(x)=-log_2p(x)\]& eeimg=&1&&&br&&b&此处的负号仅仅是用来保证熵(即信息量)是正数或者为零。而&img src=&//www.zhihu.com/equation?tex=log& alt=&log& eeimg=&1&&函数基的选择是任意的&/b&(&i&信息论中基常常选择为2,因此信息的单位为比特bits;而机器学习中基常常选择为自然常数,因此单位常常被称为nats&/i&)。&br&&br&最后,&b&我们用熵来评价整个随机变量&img src=&//www.zhihu.com/equation?tex=x& alt=&x& eeimg=&1&&平均的信息量,而平均最好的量度就是随机变量的期望&/b&,即熵的定义如下:&br&&img src=&//www.zhihu.com/equation?tex=H%5Bx%5D%3D-%5Csum_xp%28x%29log_2p%28x%29& alt=&H[x]=-\sum_xp(x)log_2p(x)& eeimg=&1&&&br&&br&总的来说,题主给出的定义符合第一点(单调性),但是不符合第二点。&br&&br&以上内容参考自Bishop 的著作《Pattern Recognition and Machine Learning》
我从一个非常直观的角度来解释一下熵的定义为什么如题主所示。 第一,假设存在一个随机变量x,可以问一下自己当我们观测到该随机变量的一个样本时,我们可以接受到多少信息量呢?毫无疑问,当我们被告知一个极不可能发生的事情发生了,那我们就接收到了更多…
&p&&i&才发现,本回答收藏数是点赞数的3倍多……你们为何不顺手再点个赞(╯‵□′)╯︵┻━┻&/i& &i&&b&&u&光收藏不动手是学不好编程滴!!!&/u&&/b&&/i&&/p&&p&[更新 ] 整理了零基础python入门教程系列,并提供在线写代码的功能:&br&&a href=&//link.zhihu.com/?target=http%3A//crossincode.com/home/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Crossin的编程教室 - 编程世界的新手村&/a&&br&欢迎来玩。&/p&&p&---------------------------------------&/p&&p&其实python非常适合初学者入门。相比较其他不少主流编程语言,有更好的可读性,因此上手相对容易。自带的各种模块加上丰富的第三方模块,免去了很多“重复造轮子”的工作,可以更快地写出东西。配置开发环境也不是很复杂,mac和linux都内置了python。另外据我所知,不少学校也开始使用python来教授程序设计课程(比如本人的母校)。&/p&&p&我就是完全通过网上资源自学python的。&br&从在校时候用python接活赚零花钱,到在创业公司用python开发商业网站和游戏后台。所有遇到的问题,几乎都可以从互联网上的公开资源找到答案。&/p&&p&关于自学python,个人最大的3点经验:&/p&&ol&&li&找一本浅显易懂,例程比较好的教程,&b&从头到尾看下去&/b&。不要看很多本,专注于一本。&b&把里面的例程都手打一遍&/b&,搞懂为什么。我当时看的是《简明python教程》,不过这本书不是非常适合零基础初学者。&b&零基础推荐《与孩子一起学编程》,&/b&或者看我写的教程 &a href=&//link.zhihu.com/?target=http%3A//crossincode.com/course/lesson_list/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Crossin的编程教室 - Python入门&/a&。&br&&/li&&li&去找一个&b&实际项目练手&/b&。我当时是因为要做一个网站,不得已要学python。这种条件下的效果比你平时学一门新语言要好很多。所以最好是要有真实的项目做。可以找几个同学一起做个网站之类。注意,真实项目不一定非要是商业项目,你写一个只是自己会用的博客网站也是真实项目,关键是要核心功能完整。&a href=&https://www.zhihu.com/question//answer/& class=&internal&&Crossin:Python 的练手项目有哪些值得推荐?&/a&&br&&/li&&li&最好能找到一个已经会python的人。问他一点&b&学习规划的建议&/b&(上知乎也是个途径),然后在遇到卡壳的地方找他指点。这样会事半功倍。但是,要学会搜索,学会如何更好地提问。没人愿意帮你写作业或是回答“一搜便知”的问题。&/li&&/ol&&p&&br&&/p&&p&然而,别人的经验未必能完全复制。比如我没有说的是,在自学python之前,我已在学校系统学习过其他的编程语言。&/p&&p&对于完全没有编程经验的初学者,在学习python的时候,面对的不仅仅是python这门语言,还需要面临“编程”的一些普遍问题,比如:&/p&&ul&&li&从零开始,不知道从何入手,找了本编程教材发现第二章开始就看不懂了&/li&&li&缺少计算机基础知识,被一些教程略过的“常识性”问题卡住&/li&&li&遇到问题不知道怎么寻找解决方案&/li&&li&看懂语法之后不知道拿来做什么,学完一阵子就又忘了&/li&&li&缺少数据结构、设计模式等编程基础知识,只能写出小的程序片段&/li&&/ul&&p&所以除了前面说的3点经验,给初学编程者的额外建议:&/p&&ul&&li&首先&b&要有信心&/b&。虽然可能你看了几个小时也没在屏幕上打出一个三角形,或者压根儿就没能把程序运行起来。但相信我,几乎所有程序员一开始都是这么折腾过来的。&/li&&li&选择&b&合适的教程&/b&。有些书很经典,但未必适合你,可能你写了上万行代码之后再看它会比较好。&/li&&li&&b&写代码&/b&,然后&b&写更多的代码&/b&。光看教程,编不出程序。从书上的例程开始写,再写小程序片段,然后写完整的项目。&/li&&li&除了学习编程语言,也兼顾补一点&b&计算机基础&/b&,和&b&英语&/b&。&/li&&li&不但要学写代码,还要学会&b&看代码&/b&,更要会&b&调试代码&/b&。读懂你自己程序的报错信息。再去找些github上的程序,读懂别人的代码。&/li&&li&学会查官方文档,用好搜索引擎和开发者社区。&/li&&/ul&&p&&br&&/p&&p&推荐几个网上的资源:&/p&&ul&&li&&a href=&//link.zhihu.com/?target=https%3A//pan.baidu.com/s/1eR5ckcq& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&简明Python教程&/a& &/li&&li&&a href=&//link.zhihu.com/?target=http%3A//pan.baidu.com/share/link%3Fshareid%3D%26uk%3D& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&与孩子一起学编程&/a& &/li&&li&&a href=&//link.zhihu.com/?target=http%3A//pan.baidu.com/share/link%3Fshareid%3D%26uk%3D& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Head First Python 中文版&/a& &/li&&li&&a href=&//link.zhihu.com/?target=http%3A//pan.baidu.com/share/link%3Fshareid%3D%26uk%3D& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&笨办法学Python&/a& &/li&&li&&a href=&//link.zhihu.com/?target=http%3A//pan.baidu.com/share/link%3Fshareid%3D%26uk%3D& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Dive.Into.Python中文版(附课程源码)&/a& &/li&&li&&a href=&//link.zhihu.com/?target=http%3A//pan.baidu.com/share/link%3Fshareid%3D%26uk%3D& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python核心编程&/a& &/li&&li&&a href=&//link.zhihu.com/?target=http%3A//pan.baidu.com/share/link%3Fshareid%3D%26uk%3D& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&深入理解Python&/a& &/li&&li&&a href=&//link.zhihu.com/?target=http%3A//pan.baidu.com/share/link%3Fshareid%3D%26uk%3D& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python标准库&/a& &/li&&li&&a href=&//link.zhihu.com/?target=http%3A//pan.baidu.com/share/link%3Fshareid%3D%26uk%3D& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python编程指南&/a&&/li&&li&&a href=&//link.zhihu.com/?target=http%3A//pan.baidu.com/share/link%3Fshareid%3D%26uk%3D& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&django_book中文版&/a&&/li&&/ul&&p&(解压密码均为:&a href=&//link.zhihu.com/?target=http%3A//crossin.me& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&crossin.me&/span&&span class=&invisible&&&/span&&/a&)&/p&&p&在线教程:&/p&&ul&&li&&a href=&//link.zhihu.com/?target=http%3A//www.kuqin.com/abyteofpython_cn/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&简明 Python 教程&/a& &/li&&li&&a href=&//link.zhihu.com/?target=http%3A//www.kuqin.com/docs/diveintopythonzh-cn-5.4b/html/toc/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Dive Into Python 中文版&/a&&/li&&/ul&&p&以下喂自己袋盐:&br&现在有很多人都想学一点编程,但是直接看教程又有点太难下手。&br&之前有几个朋友都问我能不能指导他们一下入门学个语言,于是我就弄了个微信公众号“Crossin的编程教室”(微信号crossincode,有个同名的山寨号,不要加错了)。每天讲一点点很简单的内容。如果有0基础想入门的新手,不如来跟着看看,欢迎加入我们共同学习的队伍。&/p&&p&----------------&br&&i&更新&/i&&br&基础内容早已讲得差不多了,现在整理成了系列教程,可在公众号里阅读。定期推送一些专题,比如查天气预报、搭建网站、数据采集之类的小项目,还有编程相关的知识和经验文章。也可以直接访问: &b&&a href=&//link.zhihu.com/?target=http%3A//crossincode.com/home/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Crossin的编程教室 - 编程世界的新手村&/a&&/b&&br&----------------&br&&i&更新&/i&&br&开通了知乎专栏:&br&&b&&a href=&http://zhuanlan.zhihu.com/crossin& class=&internal&&Crossin的编程教室&/a&&/b&&br&主要发一些编程入门和科普向的文章: &/p&&ul&&li&&a href=&http://zhuanlan.zhihu.com/p/& class=&internal&&编程初学者如何使用搜索引擎&/a& &/li&&li&&a href=&http://zhuanlan.zhihu.com/p/& class=&internal&&如何安装 Python 的第三方模块&/a& &/li&&li&&a href=&http://zhuanlan.zhihu.com/p/& class=&internal&&如何直观地理解程序的运行过程?&/a&&/li&&li&&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&给伸手党的福利:Python 新手入门引导&/a&&/li&&/ul&&p&内容不断更新中...&/p&&p&公众号 &b&Crossin的编程教室&/b&(crossincode)&/p&&p&.&/p&&figure&&img src=&https://pic4.zhimg.com/50/5b58c0ecafdc5d85c857_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&258& data-rawheight=&258& class=&content_image& width=&258&&&/figure&
才发现,本回答收藏数是点赞数的3倍多……你们为何不顺手再点个赞(╯‵□′)╯︵┻━┻ 光收藏不动手是学不好编程滴!!![更新 ] 整理了零基础python入门教程系列,并提供在线写代码的功能:
欢迎来玩。-…
&p&&b&说明:以下是非专业人士的整理,我按自己的理解对算法工程师进行了分类,不定时更新。&/b&&/p&&p&&br&&/p&&p&&b&算法工程师相关的专业回答可见&/b&&a href=&https://www.zhihu.com/lives/381504& class=&internal&&SimonS 的知乎 Live - 如何成为当下合格的算法工程师&/a& &a class=&member_mention& href=&//www.zhihu.com/people/710eba6a35a79b962ffd& data-hash=&710eba6a35a79b962ffd& data-hovercard=&p$b$710eba6a35a79b962ffd&&@SimonS&/a& &/p&&p&&br&&/p&&p&&b&一、算法工程师简介&/b&&/p&&p&&b&(通常是月薪15k以上,年薪18万以上,只是一个概数,具体薪资可以到招聘网站如拉钩,猎聘网上看看)&/b&&/p&&p&算法工程师目前是一个高端也是相对紧缺的职位;&/p&&p&&br&&/p&&p&&b&算法工程师包括&/b&&/p&&p&音/视频算法工程师(通常统称为语音/视频/图形开发工程师)、图像处理算法工程师、计算机视觉算法工程师、通信基带算法工程师、信号算法工程师、射频/通信算法工程师、自然语言算法工程师、数据挖掘算法工程师、搜索算法工程师、控制算法工程师(云台算法工程师,飞控算法工程师,机器人控制算法)、导航算法工程师( &a class=&member_mention& href=&//www.zhihu.com/people/3cbbdd7c8fc& data-hash=&3cbbdd7c8fc& data-hovercard=&p$b$3cbbdd7c8fc&&@之介&/a& 感谢补充)、其他【其他一切需要复杂算法的行业】 &/p&&p&&br&&/p&&p&&b&专业要求:&/b&计算机、电子、通信、数学等相关专业;&/p&&p&&b&学历要求:&/b&本科及其以上的学历,大多数是硕士学历及其以上;&/p&&p&&b&语言要求:&/b&英语要求是熟练,基本上能阅读国外专业书刊,做这一行经常要读论文;&/p&&p&必须掌握计算机相关知识,熟练使用仿真工具MATLAB等,必须会一门编程语言。&/p&&p&&b&算法工程师的技能树(不同方向差异较大,此处仅供参考)&/b&&/p&&p&1 机器学习&/p&&p&2 大数据处理:熟悉至少一个分布式计算框架Hadoop/Spark/Storm/ map-reduce/MPI&/p&&p&3 数据挖掘&/p&&p&4 扎实的数学功底&/p&&p&5 至少熟悉C/C++或者Java,熟悉至少一门编程语言例如java/python/R&/p&&p&加分项:具有较为丰富的项目实践经验(不是水论文的哪种)&/p&&p&&br&&/p&&p&&b&二、算法工程师大致分类与技术要求&/b&&/p&&p&&b&(一)图像算法/计算机视觉工程师类&/b&&/p&&p&&b&包括&/b&&/p&&p&图像算法工程师,图像处理工程师,音/视频处理算法工程师,计算机视觉工程师&/p&&p&&b&要求&/b&&/p&&p&l
&br&专业:计算机、数学、统计学相关专业;&/p&&p&l
&br&技术领域:机器学习,模式识别&/p&&p&&b&l
&br&技术要求:&/b&&/p&&p&(1)
精通DirectX HLSL和OpenGL GLSL等shader语言,熟悉常见图像处理算法GPU实现及优化;&/p&&p&(2)
语言:精通C/C++;&/p&&p&(3)
工具:Matlab数学软件,CUDA运算平台,VTK图像图形开源软件【医学领域:ITK,医学图像处理软件包】&/p&&p&(4)
熟悉OpenCV/OpenGL/Caffe等常用开源库;&/p&&p&(5)
有人脸识别,行人检测,视频分析,三维建模,动态跟踪,车识别,目标检测跟踪识别经历的人优先考虑;&/p&&p&(6)
熟悉基于GPU的算法设计与优化和并行优化经验者优先;&/p&&p&(7)
【音/视频领域】熟悉H.264等视频编解码标准和FFMPEG,熟悉rtmp等流媒体传输协议,熟悉视频和音频解码算法,研究各种多媒体文件格式,GPU加速;&/p&&p&&br&&/p&&p&应用领域:&/p&&p&(1)
互联网:如美颜app&/p&&p&(2)
医学领域:如临床医学图像&/p&&p&(3)
汽车领域&/p&&p&(4)
人工智能&/p&&p&&br&&/p&&p&相关术语:&/p&&p&(1)
OCR:OCR (Optical Character Recognition,&b&光学字符识别&/b&)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程&/p&&p&(2)
Matlab:商业数学软件;&/p&&p&(3)
CUDA: (Compute Unified Device Architecture),是显卡厂商NVIDIA推出的&b&运算平台&/b&(由ISA和GPU构成)。 CUDA(TM)是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题&/p&&p&(4)
OpenCL: OpenCL是一个为异构平台编写程序的框架,此异构平台可由CPU,GPU或其他类型的处理器组成。&/p&&p&(5)
OpenCV:开源计算机视觉库;OpenGL:开源图形库;Caffe:是一个清晰,可读性高,快速的深度学习框架。&/p&&p&(6)
CNN:(深度学习)卷积神经网络(Convolutional Neural Network)CNN主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。&/p&&p&(7)
开源库:指的是计算机行业中对所有人开发的代码库,所有人均可以使用并改进代码算法。&/p&&p&&br&&/p&&p&&b&(二)机器学习工程师&/b&&/p&&p&&b&包括&/b&&/p&&p&机器学习工程师&/p&&p&&b&要求&/b&&/p&&p&l
&br&专业:计算机、数学、统计学相关专业;&/p&&p&l
&br&技术领域:人工智能,机器学习&/p&&p&l
&br&技术要求:&/p&&p&(1)
熟悉Hadoop/Hive以及Map-Reduce计算模式,熟悉Spark、Shark等尤佳;&/p&&p&(2)
大数据挖掘;&/p&&p&(3)
高性能、高并发的机器学习、数据挖掘方法及架构的研发;&/p&&p&&br&&/p&&p&应用领域:&/p&&p&&br&&/p&&p&(1)人工智能,比如各类仿真、拟人应用,如机器人&/p&&p&(2)医疗用于各类拟合预测&/p&&p&(3)金融高频交易&/p&&p&(4)互联网数据挖掘、关联推荐&/p&&p&(5)无人汽车,无人机&/p&&p&&br&&/p&&p&&br&&/p&&p&相关术语:&/p&&p&(1)
Map-Reduce:MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念&Map(映射)&和&Reduce(归约)&,是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。&/p&&p&&br&&/p&&p&&b&(三)自然语言处理工程师&/b&&/p&&p&&b&包括&/b&&/p&&p&自然语言处理工程师&/p&&p&&b&要求&/b&&/p&&p&l
&br&专业:计算机相关专业;&/p&&p&l
&br&技术领域:文本数据库&/p&&p&l
&br&技术要求:&/p&&p&(1)
熟悉中文分词标注、文本分类、语言模型、实体识别、知识图谱抽取和推理、问答系统设计、深度问答等NLP 相关算法;&/p&&p&(2)
应用NLP、机器学习等技术解决海量UGC的文本相关性;&/p&&p&(3)
分词、词性分析、实体识别、新词发现、语义关联等NLP基础性研究与开发;&/p&&p&(4)
人工智能,分布式处理Hadoop;&/p&&p&(5)
数据结构和算法;&/p&&p&&br&&/p&&p&应用领域:&/p&&p&&br&&/p&&p&口语输入、书面语输入&br&、语言分析和理解、语言生成、口语输出技术、话语分析与对话、文献自动处理、多语问题的计算机处理、多模态的计算机处理、信息传输与信息存储 、自然语言处理中的数学方法、语言资源、自然语言处理系统的评测。&/p&&p&&br&&/p&&p&&br&&/p&&p&相关术语:&/p&&p&(2)
NLP:人工智能的自然语言处理,NLP (Natural Language Processing) 是人工智能(AI)的一个子领域。NLP涉及领域很多,最令我感兴趣的是“&b&中文自动分词”(Chinese word segmentation):结婚的和尚未结婚的【计算机中却有可能理解为结婚的“和尚“】&/b&&/p&&p&&br&&/p&&p&&br&&/p&&p&&b&(四)射频/通信/信号算法工程师类&/b&&/p&&p&&b&包括&/b&&/p&&p&3G/4G无线通信算法工程师, 通信基带算法工程师,DSP开发工程师(数字信号处理),射频通信工程师,信号算法工程师&/p&&p&&b&要求&/b&&/p&&p&l
&br&专业:计算机、通信相关专业;&/p&&p&l
&br&技术领域:2G、3G、4G,BlueTooth(蓝牙),WLAN,无线移动通信, 网络通信基带信号处理&/p&&p&l
&br&技术要求:&/p&&p&(1)
了解2G,3G,4G,BlueTooth,WLAN等无线通信相关知识,熟悉现有的通信系统和标准协议,熟悉常用的无线测试设备;&/p&&p&(2)
信号处理技术,通信算法;&/p&&p&(3)
熟悉同步、均衡、信道译码等算法的基本原理;&/p&&p&(4)
【射频部分】熟悉射频前端芯片,扎实的射频微波理论和测试经验,熟练使用射频电路仿真工具(如ADS或MW或Ansoft);熟练使用cadence、altium designer PCB&b&电路设计&/b&软件;&/p&&p&(5)
有扎实的数学基础,如复变函数、随机过程、数值计算、矩阵论、离散数学&/p&&p&&br&&/p&&p&应用领域:&/p&&p&通信&/p&&p&VR【用于快速传输视频图像,例如乐客灵境VR公司招募的通信工程师(数据编码、流数据)】&/p&&p&物联网,车联网&/p&&p&导航,军事,卫星,雷达&/p&&p&&br&&/p&&p&相关术语:&/p&&p&(1)
基带信号:指的是没有经过调制(进行频谱搬移和变换)的原始电信号。&/p&&p&(2)
基带通信(又称基带传输):指传输基带信号。进行基带传输的系统称为基带传输系统。传输介质的整个信道被一个基带信号占用.基带传输不需要调制解调器,&b&设备化费小,具有速率高和误码率低等优点,.适合短距离的数据传输&/b&,传输距离在100米内,在音频市话、计算机网络通信中被广泛采用。如从计算机到监视器、打印机等外设的信号就是基带传输的。大多数的&b&局域网&/b&使用基带传输,如以太网、令牌环网。&/p&&p&(3)
射频:射频(RF)是Radio Frequency的缩写,表示可以辐射到空间的&b&电磁频率(电磁波),频率范围从300KHz~300GHz之间(因为其较高的频率使其具有远距离传输能力)&/b&。射频简称RF射频就是射频电流,它是一种高频交流变化电磁波的简称。每秒变化小于1000次的交流电称为低频电流,大于10000次的称为高频电流,而射频就是这样一种高频电流。高频(大于10K);射频(300K-300G)是高频的较高频段;微波频段(300M-300G)又是射频的较高频段。&b&【有线电视就是用射频传输方式】&/b&&/p&&p&(4)
DSP:数字信号处理,也指数字信号处理芯片&/p&&p&&br&&/p&&p&&b&(五)数据挖掘算法工程师类&/b&&/p&&p&&b&包括&/b&&/p&&p&推荐算法工程师,数据挖掘算法工程师&/p&&p&&b&要求&/b&&/p&&p&l
&br&专业:计算机、通信、应用数学、金融数学、模式识别、人工智能;&/p&&p&l
&br&技术领域:机器学习,数据挖掘&/p&&p&l
&br&技术要求:&/p&&p&(1)
熟悉常用机器学习和数据挖掘算法,包括但不限于决策树、Kmeans、SVM、线性回归、逻辑回归以及神经网络等算法;&/p&&p&(2)
熟练使用SQL、Matlab、Python等工具优先;&/p&&p&(3)
对Hadoop、Spark、Storm等大规模数据存储与运算平台有实践经验【均为分布式计算框架】&/p&&p&(4)
数学基础要好,如高数,统计学,数据结构&/p&&p&l
&br&加分项:数据挖掘建模大赛;&/p&&p&&br&&/p&&p&应用领域&/p&&p&(1)
个性化推荐&/p&&p&(2)
广告投放&/p&&p&(3)
大数据分析&/p&&p&&br&&/p&&p&相关术语&/p&&p&Map-Reduce:MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念&Map(映射)&和&Reduce(归约)&,是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。&/p&&p&&br&&/p&&p&&b&(六)搜索算法工程师&/b&&/p&&p&&b&要求&/b&&/p&&p&l
&br&技术领域:自然语言&/p&&p&l
&br&技术要求:&/p&&p&(1)
数据结构,海量数据处理、高性能计算、大规模分布式系统开发&/p&&p&(2)
hadoop、lucene&/p&&p&(3)
精通Lucene/Solr/Elastic Search等技术,并有二次开发经验&/p&&p&(4)
精通Lucene/Solr/Elastic Search等技术,并有二次开发经验;&/p&&p&(5)
精通倒排索引、全文检索、分词、排序等相关技术;&/p&&p&(6)
熟悉Java,熟悉Spring、MyBatis、Netty等主流框架;&/p&&p&(7)
优秀的数据库设计和优化能力,精通MySQL数据库应用 ;&/p&&p&(8)
了解推荐引擎和数据挖掘和机器学习的理论知识,有大型搜索应用的开发经验者优先。&/p&&p&&br&&/p&&p&&b&(七)控制算法工程师类&/b&&/p&&p&包括了云台控制算法,飞控控制算法,机器人控制算法,导航算法工程师&/p&&p&&b&要求&/b&&/p&&p&l
&br&专业:计算机,电子信息工程,航天航空,自动化&/p&&p&l
&br&技术要求:&/p&&p&(1)
精通自动控制原理(如PID)、现代控制理论,精通组合导航原理,姿态融合算法,电机驱动,电机驱动&/p&&p&(2)
卡尔曼滤波,熟悉状态空间分析法对控制系统进行数学模型建模、分析调试;&/p&&p&l
&br&加分项:有电子设计大赛,机器人比赛,robocon等比赛经验,有硬件设计的基础;&/p&&p&&br&&/p&&p&应用领域&/p&&p&(1)医疗/工业机械设备&/p&&p&(2)工业机器人&/p&&p&(3)机器人&/p&&p&(4)无人机、云台控制等&/p&
说明:以下是非专业人士的整理,我按自己的理解对算法工程师进行了分类,不定时更新。 算法工程师相关的专业回答可见
一、算法工程师简介(通常是月薪15k以上,年薪18万以上,只是一个概数,具体…
&figure&&img src=&https://pic1.zhimg.com/c952bb5c3ae16aebadd97f81c60a4de3_b.jpg& data-rawwidth=&1200& data-rawheight=&800& class=&origin_image zh-lightbox-thumb& width=&1200& data-original=&https://pic1.zhimg.com/c952bb5c3ae16aebadd97f81c60a4de3_r.jpg&&&/figure&&p&Java作为一门古老的语言,已有20年左右的历史,这在发展日新月异的技术圈可以说是一个神话。虽然不少人曾抱怨Java语言就像老太太的裹脚布,又臭又长,有时写了500行都不能表达程序员的意图。但从市场上的招聘现状看,Java工程师依然有着其他语言不可取代的竞争优势。招聘情况请参考:&a class=&internal& href=&https://zhuanlan.zhihu.com/p/?refer=100offer&&为何优秀的Java程序员如此难招? - 互联网人才流动专刊 - 知乎专栏&/a&&br&&/p&&p&对于很多朋友来说,Java是学习编程的开始,也有很多朋友希望通过Java可以找到工作,但是很多自学的朋友在自学过程中盲目的学习,这不但大大降低了学习的效率并且会打击学习的热情。那么当我们学习了Java的基础知识之后,我们急需要一些项目去帮我们整理一下自己学习的知识点以及提高一下编程能力,对小的工程有一个大致的了解,有助于以后一步一步的接触上手相对来说大的项目。最重要的是提高自己的学习经验。&/p&&p&如果你没有学习好Java基础,看下面的内容上手比较难,没有一些基本的思路,你可以选择先再去学习一遍Java基础:&/p&&a class=&internal& href=&https://zhuanlan.zhihu.com/p/&&如何一步一步的学Java - 学习编程 - 知乎专栏&/a&&p&如果您正在准备参加校招或者社招,同时这里有两篇文章或许可以帮助到你:&/p&&a class=&internal& href=&https://zhuanlan.zhihu.com/p/&&Java工程师面试题整理[社招篇] - 学习编程 - 知乎专栏&/a&&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&Java工程师笔试题整理[校招篇] - 学习编程 - 知乎专栏&/a&&p& 如果你看到了这里,恭喜正式开始进入主题:适合新手练手的Java项目? &figure&&img data-rawheight=&120& data-rawwidth=&1200& src=&https://pic3.zhimg.com/11de75ddf9a679afc0e0cab_b.jpg& class=&origin_image zh-lightbox-thumb& width=&1200& data-original=&https://pic3.zhimg.com/11de75ddf9a679afc0e0cab_r.jpg&&&/figure&&/p&&p&源码下载(实例一):&/p&&a class=& wrap external& href=&https://link.zhihu.com/?target=http%3A//www.zuidaima.com/share/6144.htm& target=&_blank& rel=&nofollow noreferrer&&jsp开发完整的博研图书馆后台管理系统,不使用框架开发的,太完美了&/a&&p&源码下载(实例二):&/p&&a href=&https://link.zhihu.com/?target=http%3A//download.csdn.net/detail/defonds/7123499& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&javaWeb图书馆管理系统源码mysql版本&/a&&p&源码下载(实例三)&/p&&a class=& wrap external& href=&https://link.zhihu.com/?target=https%3A//github.com/uboger/LibraryManager& target=&_blank& rel=&nofollow noreferrer&&GitHub - uboger/LibraryManager: JAVA GUI 图书馆管理系统&/a&&p&源码下载(实例四):&/p&&a class=& wrap external& href=&https://link.zhihu.com/?target=http%3A//www.zuidaima.com/share/1312.htm& target=&_blank& rel=&nofollow noreferrer&&java swing开发企业人事管理系统源代码下载&/a&&br&&p&&figure&&img data-rawheight=&120& data-rawwidth=&1200& src=&https://pic2.zhimg.com/995d256dc_b.jpg& class=&origin_image zh-lightbox-thumb& width=&1200& data-original=&https://pic2.zhimg.com/995d256dc_r.jpg&&&/figure&源码下载(实例一):&br&&a class=& wrap external& href=&https://link.zhihu.com/?target=http%3A//www.zuidaima.

我要回帖

更多关于 超级玛丽 的文章

 

随机推荐