如何看待 2020 届校招算法岗供远大于求的情况?

2020届毕业生秋招 算法岗(偏NLP)总结 从8月份开始到现在,两个月了,有点累了,更多的是心累吧,特别是0offer的那段日子,算法岗今年真的是爆炸,秋招不想再面其他的了。 为什么算法岗会爆炸? 简单来说,AI大火,工资高,所有理工科专业都可转AI,狼多肉少。 参考知乎:如何看待 2020 届校招算法工程师岗位求职人数远大于招聘岗位的现象? 如何看待字节跳动招聘收到的算法工程师简历的数量远超需求? 2020秋招难吗? 我自己投了118家公... 阅读详情

编辑:Charlotte

https://www.zhihu.com/question/344122516

本文仅作为学术分享,如果侵权,会删文处理

作者:周国睿链接:https://www.zhihu.com/question/342267611/answer/808162979

说实话我觉得算法工程师这个岗位名字的设定真他娘的是个天才想法,短短几年时间就把应届生的技术栈全盘改变了,毕竟大家都是面向找工作学习嘛。可是迎风而上能飞得快一时,要飞得长远还是看个人实力的成长呀。

我觉得题目把算法工程师简化为算法岗就已经说明问题了。算法工程师首先是工程师,然后才是算法工程师。有时候可能同学们太忽视工程师方面技术栈的培养了,这样适应性会比较差一些,个人价值的销售和转化出口也会窄一些。

挺多同学都在讨论顶会paper和应届找工作的关系。这个东西我个人感觉既不是充分条件也不是必要条件。可能对做偏研究的team帮助比较大吧。但是对于那些真刀真枪在业务上厮杀的team,可能没那么大的帮助。至于那些有业务又做研究的team,那就是既要...还要...且要...了。

自己有paper,有研究工作,可以帮助在面试过程中打开互相交流的话题。但是最终还是看个人的思考、工作、认识是不是足够完整、深入,有没有个人的特色。

工业界的大部分岗位要求的能力可不是在已有的学术上游上缝缝补补,做个实验,刷个指标。要的是能实实在在的做出结果,为公司带来真正的价值。同时要想过的好,你还得保证自己有持续不断产出价值的能力。这就不仅仅要求大家的技术实力增长,还得要求有良好的沟通协作能力,有坚毅的内心,对比较长周期的工作有良好的节奏感等等。所以在对应届生候选人筛选的时候,会尽量从各个侧面发掘和评估候选人的潜力以及岗位匹配程度。

大多数公司对优秀且适合的同学是没有HC限制的,只要个人有满足岗位的能力,竞争者再多都不会影响到大家找到好的工作。

作者:Ted Li链接:https://www.zhihu.com/question/342267611/answer/805334722

怎么看待?就是学生投机起来真的非常的疯狂。

从我一年多的面试经历来看,很多应届的小朋友可能看到算法岗位吃香,都纷纷从非CS科班转过来做算法,而且非算法不找。

他们可能上个培训班,去kaggle或者github上复现一下代码,把别人的论文代码复现一下,就赶紧往简历上写,然后面试的时候,被问到细节,一点也答上来。

有时候,我很无奈,就问一下语法,操作系统,数据结构,发现投机搞算法的人,基础居然出奇的差,有一次竟然被一个小姑娘反问,做算法为什么要问这些问题。小姑娘可能觉得,做算法的就应该问一下机器学习的问题吧,毕竟题都背好了,这个可恶的面试官居然不问。

无良的公众号,无良培训机构更是该被骂,每天虚假宣传,拉大大家的期待值,神话ai薪酬,增加行业浮躁。

CS圈子投机一直都很严重,以前投机做APP,投机做VR,投机做区块链,所以投机做AI一点也不奇怪。天天劝退这个,劝退那个,条条大路通投机,行业鄙视链越拉越长。

希望学生朋友们,都去招聘网站上搜一搜看看开发岗多还是算法岗多,然后端正自己的心态,找适合自己的工作。

作者:御风链接:https://www.zhihu.com/question/342267611/answer/807395286

哪是学生投机,分明是老师投机啊。说到底还不是论文超发的锅?

今年CVPR一个会录了1300篇,IJCAI 850篇,AAAI、NIPS都是千篇上下吧?这一个会的录取量吊打其他方向一个领域问题不大吧?而且就算是非AI方向的顶会也很热衷于录AI与本子领域结合的论文。

我们都开玩笑,算法领域真是硕士生到商汤旷视实习几个月就能发顶会。而系统/网络等领域,除了极个别的水会,多数真的是博士搞一篇出来都很厉害。结果就是一堆搞数据库的,操作系统的,图形学的,信息安全的老师也不管自己懂不懂,通通逼着学生去结合AI搞他们靠谱或者不靠谱的点子。研究生阶段大家就天天import tensorflow as tf,毕业了可不一窝蜂算法?

我春招就发现这个情况了,论文超发的情况下,转行的已经基本告别算法了。实际上哪怕是CS的非要去怼算法那真是想不开。大厂现在算法跟开发白菜基本一个价,至多算法多一两千。唯一的区别是,算法更容易爆出惊人的SSP,但考虑比例,差别也没那么大。校招转行的同学最好的方向还真是前端或者APP开发,缺人缺的一塌糊涂。

作者:Zhiming链接:https://www.zhihu.com/question/342267611/answer/805723045

大家可能没有分清楚两个概念...算法工程师和算法研究员是两个职位,现在可能不是很明显,但是我相信这应该就是以后的趋势。

算法工程师的本质还是工程师,从推荐系统方向来说,除了要求你读paper,复现paper之外,还需要会使用Spark这种大数据处理工具,会写shell脚本,跑个数据能不能开多线程跑,模型代码出了bug怎么定位...这些都是计算机系的基本功,更不用说模型上线就是一个复杂的C++工程了。企业对于一个工程师的要求简单来说就是”能干活“,”把活干好“,所以只停留在书本上是没办法成为一个”工程师“的。

还有很关键的一点,算法工程师研究算法的终极目的是服务业务,所以对业务有没有很深刻的理解非常重要,没有办法落地的算法,没有拿到指标收益的算法,即便再fancy,在学术界再amazing,在工业界也是吃不开的。

算法研究员就不说了,这个岗位我觉得本来就应该博士起步吧...

作者:江宝链接:https://www.zhihu.com/question/342267611/answer/807619068

我,2020,非科班转行做算法,我来从我的角度说一下吧。其实你们骂的是对的,很多道理我都知道,做算法趋之若鹜我也知道,算法过热饱和我也知道,非科班做算法基础薄弱我更知道。有什么办法,本硕都是机械的,c9,毕业就面临失业,但凡就业环境好一点,都不至于转行过来。因为出来工资只有六七千,甚至五六千,怎么活下去?有些人就站着说话不腰疼:你活不下去关我啥事,自己选的专业自己就该扛着。你说这话是因为你不在我的位置,所以我的死活与你无关,你辛辛苦苦读20年书,进入一流名校,出来拿底薪,你也不会甘心。不甘心,能怎么办?

只能转行,人是不可能在一棵树上吊死的,至少我不会,我承认我是为了钱,我承认我是为了生活,我为了利益,我趋之若鹜,我随波逐流。回答这个问题的同学大多是计算机的吧?经济学里面有个词叫幸存者偏差,大概你们就会想:这一群非科班的沙雕,自己在本专业混有啥不好的,干嘛要来和我们抢饭碗,扰乱了市场,我们每天996,叫苦不迭,你们图啥。你去看看传统行业的薪资水平(机械,化工,土木等),你以为现在盛世之下人人安居乐业,动不动就跟某脉上面的人一样,整天问月薪三四十k的我什么水平,总包150该不该去。是不是这样的?大家有时候怪推荐算法限制了我们的视野,其实每个人在自己的环境下,都只能在自己的维度下认识这个世界,都一定程度上觉得生活应该是周围的人的样子,大家应该都是这个样子,至少不会太差,那请你去看看,这个时代下,除了互联网,还有几个行业能上台面。

跑题了,转行,转行做什么?我实话说,我本科刚毕业的时候,也就是两年前,我连算法工程师听都没有听过,是真的听都没有听过,,知道17年秋招的时候看到了这样的一个职业,在宿舍楼下一张桌子上捡到一张传单,某武纪,开出了30-50w的薪资招算法工程师。实话说,对于目睹师兄师姐下车间,进车企,进恒大卖房子的就业惨状,我觉得我还是可以抢救一下的,这大概就是转行的契机。

所以我和一般在秋招的同学才开始转行的还是有一点不同,我从研一就开始下定决心转过来。其实对于我们转行,面临的压力真的不小,一旦没转成功,原来的专业早就荒废,两脚踏空,这些我都是有心理准备的。我看了评论转行的同学真的不少,转行之前我们学的理论力学,材料力学,流体力学等等,哪个我觉得叫计院科班出身的来学都不敢说轻松吧?既然我们高考分数也不比你们低,学科也不比你们容易,凭什么毕业就要失业呢?不能转行,还骂投机?

中途进修闭关的历程就不说了。总之现在已经成功上岸了,至于你问我为什么不转行去做开发,这里我真的要诚实,开发涉及的知识并不比算法少,我是真的没有能力,没有信心去搞开发。对于算法,由于我的数学基础还行,其实多看两遍,感觉也就那么回事了,当然要精进,还需努力。

好了,无缘无故扯了这么多,到最后说一下我的一些建议吧。

  1. 如果双非院校,算法劝退,不要听网上培训班3个月挑战年薪40w, 有,那是凤毛麟角,你有那个实力和耐力,你为什么还在双非里面混;

  2. 如果非科班转,算法慎重,尤其是今年秋招,你现在才准备的,小厂忽悠,大厂没戏;

  3. 如果你是传统专业,(不要问我哪些是传统的),打算转计算机,我劝你好好学c, c++,java,开发的需求大概是算法的50倍以上

  4. 如果你现在是研一研二,要转算法,我劝你早做准备,尤其加强代码能力,忽悠大家都会,代码是不会骗人的

  5. 如果你是计算机的,天生就有开发的优势,不要去和985的拼算法,他们吹的牛比你见的牛还多

  6. 今年环境都不好,不要一味地鄙视转行的,我们选专业的时候,为中国制造强,为民族事业兴的心,是真的 。

  7. 但凡有一点办法,我都不会在这里写这篇帖子。

更新一下,有同学不信我们专业有这么惨,爆一张图。

640?wx_fmt=jpeg

你看,连传统车企今年都点名不要我们专业,造车的不收机械的,你见过吗

作者:死月絲卡蕾特链接:https://www.zhihu.com/question/342267611/answer/817277832

供求之外的算法工程师们,补补基础吧。不是说能搞模型就好了,现在的“算法”含义好像已经开始变质了。模型练好了,写代码的时候 Bug 一堆,性能被对手秒杀,有什么用呢?

而下面的这段话,应该会被一类“鄙视刷 LeetCode 的人”鄙视吧。毕竟 DP 这类东西有什么用呢?刷题有什么用呢?

为什么 CS 是一门学科,物理学家数学家们也是够聪明啊。存在即合理,不能地基没搭好就往上面盖房子。

如果认为 LeetCode 太水,可以去玩 TopCoder / CodeForces。如今 AI 顶尖的大神们可有不少都是上面这些东西的大神,都是通的。但如果一边认为 LeetCode low,然后一边又连 LC 的题都刷不利索,就有点说不过去了。

学术除外。(但我也不认为学术做得好的就可以无事 CS)

盗用李开复的话:

还记得 1988 年贝尔实验室副总裁亲自来访问我的学校,目的就是为了想了解为什么他们的语音识别系统比我开发的慢几十倍,而且,在扩大至大词汇系统后,速度差异更有几百倍之多。他们虽然买了几台超级计算机,勉强让系统跑了起来,但这么贵的计算资源让他们的产品部门很反感,因为“昂贵”的技术是没有应 用前景的。在与他们探讨的过程中,我惊讶地发现一个 O(n*m) 的动态规划(Dynamic Programming)居然被他们做成了O(n*n*m)。更惊讶的是,他们还为此发表了不少文章,甚至为自己的算法起了一个很特别的名字,并将算法提名到一个科学会议里,希望能得到大奖。当时,贝尔实验室的研究员当然绝顶聪明,但他们全都是学数学、物理或电机出身,从未学过计算机科学或算法,才犯了这么基本的错误。我想那些人以后再也不会嘲笑学 计算机科学的人了吧!

看完以上回答后,Charlotte总结了几点:

  1. 不要盲目转算法。结合自己能力和优势来选择合适的岗位。

  2. 先练好代码能力,算法工程师首先是工程师。

  3. 提前布局,做好准备。

希望现在秋招的同学们都能获得满意的offer~

推荐阅读

GitHub 标星 8w!Google面试指南

1000 面试题,BAT 机器学习面试刷题宝典!

2020本科校招-从小白到拿到30k offer的学习经历 内容同步更新到github:https://github.com/mio4/interview 前言 本文是个人2019年年度总结。 先介绍下博主背景:计算机本科大四, 刚进大三还是没有实习、没有项目经历的小白,经过一年时间的刻意练习[deliberate practice],最后在校招中拿到了大厂offer, 标题中30k的offer已经拒掉了,有了更好的去处,只是用来举例。 0x0 前期调研 以下经验根据个人的经验来谈,有一定的局限性,仅供参考。 1. 为什么不选择算法 计算机专业的就业方向很多,对 阅读详情

相关推荐

拼多多校招笔试闯关记:关卡制下的真题拆解与备战策略

在线笔试作为技术校招的第一道筛选关卡,其赛制与题型往往直接影响候选人的发挥。拼多多采用独特的关卡制笔试,每道题通过后才解锁下一题,这不仅考验算法功底,更考验心态与时间分配。从真题复盘来看,其考察重点并非偏题怪题,而是模拟、字符串、贪心和基础动态规划等核心算法能力。理解整数拆分的数学规律、掌握字符串压缩的边界处理、运用桶排序解决线性时间最大间隔问题,都是应对这类笔试的关键技术点。对于准备校招算法面试的求职者而言,熟悉在线笔试的输入输出模板、整理高频题型的代码模板、强化边界条件自查,能够显著提升过关率。本文以拼

weixin_34306593的博客 430

科普:算法岗是什么?我适不适合算法岗?选什么方向的算法岗?

大家好,我是千与千寻,一名专注于后端研发与算法工程领域的程序员,最近我的作息快赶上yp哥的作息了,不过习惯就好。昨天晚上深夜回家发了个pyq,我大致表达的意思:谁说算法岗不加班的?活没干完...

fengdu78的博客 3万+

安装m_map以及用matlab绘制高精度海岸线地图

#如何用matlab绘制高精度海岸线地图

qq_38512775的博客 1万+

商汤科技2018校招研究员笔试第一场

https://www.nowcoder.com/test/11960206/summary 题目1 铁柱在研究一个区域的小黄车使用分布。他得到了服务器上最近10000个用户的二维位置,现在他想把这些用户聚成K(K<10) 组,每组有一个中心C_i。他想评价聚类算法的好坏,把每个数据点到中心的l1距离作为总距离。即 D = sum_j || X_j - C( X_j ) ||_1 其中C(X...

pku_Coder的博客 1434

深入解析GEM5 McPAT NoC功耗模型:从arbiter电容计算到微架构关联

本文深入解析GEM5 McPAT NoC功耗模型,重点探讨arbiter电容计算与微架构的关联。通过拆解动态功耗公式和四类电容的物理本质,揭示能量与功率的转换关系,并提供参数调试和模型精度优化的实战技巧,帮助开发者更准确地预测和优化NoC功耗。

weixin_29305313的博客 203

玉米群体遗传分析实战:如何用IQtree和VCF文件快速构建系统发育树(附避坑指南)

本文详细介绍了如何利用IQtree和VCF文件进行玉米群体遗传分析,并快速构建可靠的系统发育树。文章重点解析了从VCF格式转换到PHYLIP格式的实用技巧,强调了使用ASC模型校正SNP数据偏差的重要性,并提供了完整的参数设置、常见报错解决方案及结果评估指南,帮助研究者高效完成分析并规避常见陷阱。

leaf8的博客 608

干货 | 算法岗校招经验分享+吐槽

这里单独说一下华为的笔试,因为华为笔试的代码题风格和其他公司完全不一样:其他公司是难,只要有思路之后就基本能全部ac。华为是复杂,但是核心思路不难。主要体现在两方面:各种临界条件、特殊情况很多,你不认真读题的话,往往不能全部ac。都要对leetcode原题做一个数学上的等价变化,比如说有道题是满减优惠,其实就是0-1背包问题的变形,我在笔试中花了很长时间才想明白这点。然后代码有个小typo,没检查出来(代码量有点大,而且就一个变量名打错了,我当时根本没想着检查变量名),这个题就没全ac。

2401_84494441的博客 1530

PID控制器(位置式和增量式)

PID控制算法

zhinian_hao的博客 4512

算法岗校招已成“人间地狱”,还有办法上岸吗

由于一系列众所周知的原因,算法岗的竞争越来越激烈,知乎上有个问题,形象的将算法岗的秋招形势比喻成了“人间地狱”。虽然有夸张的成分,但也一定程度上反映了如今算法岗“僧多粥少”的现状。内卷焦虑、网络偏差影响下,不少人在学生时代被误导——“唯有发顶会论文才能上岸算法岗”、“没个博士学位也敢搞AI?”。这些错误的认知导致不少硕士连基础没打好就开始憋论文、更有甚者本科还没毕业就卷起...

夕小瑶科技说 881

自动驾驶仿真:python和carsim联合仿真案例

carsim内部有许多相关联合仿真的demo,simulink、labview等等都有涉及,这里简单介绍下python和carsim联合仿真的方法,虽然carsim官方有个Steer_Control.py相关的案例,但是感觉比较冗余,这里抽出重点部分和大家交流探讨下。提示:以下是本篇文章正文内容,下面案例可供参考1、这里关于solvers的细节其实都没说,因为里面确实也没什么内容好讲的,本质就是调用carsim.dll,如果你需要更多的函数解析其实可以看vs_api.h,路径在,具体内容如下图所示。

zataji的博客 9064

AutoSAR系列讲解(深入篇)14.7-Mcal Adc配置(上)

详细讲解了ADC的各个配置项的作用

雪云飞星的博客 1万+

【面试经验】比亚迪 面经 算法岗

自我介绍三分钟,问医院合作项目的具体实现,问我用什么框架,创新点是什么,本人就是算法工作比较多,之前也做过一段前端实习,但是他还是对让我做算法比较感兴趣,想让我做自动驾驶的一些工作,然后我说我对开发感觉也挺感兴趣(委婉),他说开发就是码农,对我以后发展不利,好吧battle到最后掰不过,就说那就算法叭挺好的。面试官小姐姐很nice,就是问了我些个人基本情况,和其他公司最大的不同应该就是问会不会开车,几年驾驶经验,开过迪子吗,最后看了下材料,就分配到了比较合适的技术面试官那。

litterfinger的博客 814

CATIA V6二次开发——如何利用CaptureToFile截屏

CaptureToFile 今天给大家分享一个很有趣的功能,如何利用CATIA自带的功能输出模型展示图? 先上方法: 方法本身并不难,只需要赋予格式及输出路径即可完成该功能。结果如下: 看到这样一张图片不禁让我陷入了沉思,怎么会这么丑???? 那么如何让这个简单的功能变得有趣,图片变得好看点呢? 第一步:背景换色 第二步:隐藏结构树 ...

WorkMan的博客 2986

My知乎 | 如何看待 2020 届校招算法岗供远大于求的情况?

往期回顾:导语:最近自己这篇文章获赞很多,估计是受到了大家的欢迎,感谢给我点赞的大佬们T T,很多人建议我说把这篇内容放在公众号里,也给大家分享一下,我觉得OK,原文按照...

baidu_25854831的博客 1191

4.4 直流无刷电机(BLDC):控制器硬件设计

摘要 本文详细阐述了直流无刷电机(BLDC)控制器的硬件设计要点。控制器硬件主要包括微处理器单元、功率驱动模块、信号检测电路、通信接口和电源管理模块。在微处理器选型方面,分析了ARM Cortex-M系列、DSP等架构的适用场景,并对比了不同处理器的性能参数。功率驱动模块设计重点包括栅极驱动电路、逆变桥热管理和电流保护机制。信号检测部分介绍了位置传感器接口和模拟信号调理技术。此外,还讨论了通信接口设计、电源管理方案以及硬件布局与EMC设计规范。最后强调了硬件测试验证的重要性,包括故障注入测试等验证方法。整体

技术工作者 185

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

看一个双非二本(0实习)大三学生如何拿到阿里、腾讯的offer

干货!战略攻克大厂!2020春招,我在40+场面试/笔试中学到了这些…… 文章目录干货!战略攻克大厂!2020春招,我在40+场面试/笔试中学到了这些……前言适用对象作者介绍我的经历战略打法校招种类实习种类竞争对手如何备战职位选择制作简历关于捞人关于笔试关于面试投递方式投递平台公司优先级校招法则写在最后 前言 编程路上,作为很多像我一样的双非本科生,大厂似乎遥不可及…… 后来,我经历了2020年春...

苏一恒 1万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

小红书2020校招数据分析笔试题卷三解析:业务直觉与SQL实战

数据分析师的日常工作离不开概率统计、SQL提取和业务拆解三大核心能力,而校招笔试正是检验这些能力的试金石。本文以内容社区为业务背景,深入讲解贝叶斯公式在真实推荐场景中的应用、显著性检验如何避免将随机波动误判为业务效果,以及SQL留存计算中去重与关联的陷阱。同时,围绕指标异动归因、博主流失预警和开放题的答题框架,展示如何用结构化思维将模糊问题转化为可落地的数据方案。这些分析方法不仅适用于小红书校招笔试,也可迁移到UGC产品的日常运营分析中,帮助读者建立从数据到决策的完整路径。

weixin_30580341的博客 394

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

小红书2020校招笔试真题解析:测试开发与后端核心考点

在互联网技术岗位的校招笔试中,扎实的计算机基础与编码能力是筛选候选人的首要标准。无论是TopK问题、LRU缓存淘汰,还是MySQL索引与Redis缓存,其本质都在考察对数据结构、并发控制及系统设计的底层原理理解。掌握这些通用技术概念,不仅能应对限时高压下的编程题,更能为后续的技术面试与工程实践奠定基础。从算法复杂度到线程池参数,从缓存一致性到Spring Boot自动配置,这些知识点广泛适用于后端开发与测试开发等岗位。以小红书2020校招笔试题为例,深入拆解各题型背后的出题意图与备考策略,帮助求职者构建系统

weixin_34162228的博客 296

2020宁波市多校赛训练biu~

宁波市多校训练错题整理-未完待续...一、宁波市多校训练(一)A - 或异或或异或或异或题目描述InputOutputSample InputSample OutputHintAC代码B - 狂赌之渊题目描述InputOutputSample InputSample OutputHintAC代码E - ddd的逛街计划(Easy Version)题目描述InputOutputSample InputSample Output理解AC代码H - 小w的半阶乘平方题目描述InputOutputSample In

wanna7u的博客 1449

魔幻的2020年,请程序员们收下这份秋招建议!

(给机器学习算法与Python学习加星标,提升AI技能)金九银十,又到一年秋招季。这场规模巨大的校园招聘,承载了近千万毕业生的梦想。不过,在这特殊的2020年,这场秋招也变得非比寻常。本...

机器学习算法与Python学习 441

组合数求模

在程序设计中,可能会碰到多种类型的计数问题,其中不少涉及到组合数的计算,所以笔者写下这么一篇文章,期望能解决一些常规的组合数求模问题。last update time : 2020-03-04

skywalkert's space 1万+

都2020年了,在校学生还值得继续转行搞AI吗

在2016年前,在校学生圈中有一个比较热的词叫“转CS”,也就是其他专业的转学计算机(也就是学习写代码,找计算机相关工作),而2016年后,基本就不怎么说“转CS”了,因为我们全民&#3...

AIZOO人工智能乐园 489

2020届蓝桥杯省赛B组第一场 C++题解(编程题可提交)

第一题:跑步训练(5分) 答案:3880 #include<stdio.h> int main() { int n=10000,cnt=0,ans; while(1) { if(n-600<0) //不够再跑一分钟 { ans=cnt*60+(n/10); //(n / 600 * 60); break; } n-=600; cnt++; n+=300; cnt++; } printf("%d\n

Helinshan的博客 1016
上一篇: 介绍一位高级数据分析师,告诉你数据分析原来这么好玩
下一篇: 模型评估指标AUC和ROC,这是我看到的最透彻的讲解
机器学习算法那些事
博客等级 码龄9年 1633粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值