《机器学习》这门课程就像《高等数学》一样,几乎所有学校的计算机大类甚至是自动化类的专业都会开设这门课,学人工智能不学这门课有点说不过去!学长的《机器学习》课程最终达到了满绩点,在保研简历上也留下了浓墨重彩的一笔:
现在B站、CSDN、github上的学习资源很多,但是每个学校的期末考试侧重点不同,这里强烈建议不要从头到尾听网课,这样效率巨低!那究竟应该怎样学?单纯考试算题有啥用?如何把这门课程“打造”成面试项目经历?请听我为你细细讲解:
建议学弟学妹们利用往年期末考试题去进行系统性的复习,该记忆的公式结论就先死记硬背,同时大家要敢于质疑、多问问题、利用chatgpt、文心一言这些大模型工具来高效理解性学习。这里举一个最简单的栗子,下面这张图中为什么“权值”在神经网络部分计算题中(有的学校也把神经网络单独拆分出来作为一门叫《神经网络与深度学习》的课程)规定要用W来表示“权值”,用B来表示“偏置”呢?我必须用这个字母来表示吗?我这样不就是在死记硬背模板套路应付考试吗?
下面通过KiMi大模型来进行举例学习方式:
大模型虽然总是会巴拉巴拉给出一大堆废话,但是我们抓住了最关键的信息:原来是取自英文意思weights和biases的首字母,这下就记忆得很牢固了吧!看到这里觉得有学到的就点赞关注收藏三连一下吧哈哈哈!而且他说的“大写字母表示矩阵,小写字母表示‘向量’”这个概念,又更进一步帮助我从代码底层数值运算的角度,理解了平时神经网络考试的计算题在实际运行环境下的情景。
大模型给我最大的感觉就是能针对我的个人痛点进行个性化分析、针对性答疑,虽然现在大模型还没有达到真正的通用人工智能水平,但他在作业辅导、文献阅读、代码复现等方面确实取得了很大的突破!
言归正传,大家可能会有困惑,比如有的老师不提供往年考试题、往年的考试题不具备参考性、有的老师会“反套路”出题等各种奇葩情况哈哈,那么这种情况下建议大家围绕着老师平时上课在黑板上演练过的计算题、作业题、反复强调的知识点和题目题型、提问过三次及以上的知识点去重点复习。同时结合着csdn和B站的帖子,单独把没懂透的知识点抽出来针对性地去听一些知识点小网课、小视频。比如下面密度聚类的这个伪代码我看不懂,看到这一大串伪代码我就头痛、两眼发黑
那么我就会针对性去b站、csdn检索“密度聚类”“DBSCAN”这类关键词来听这个知识点,这样解决了上课没听着、看书看不进去的情况。
但是听完网课之后我还是不太理解,我可能会借助大模型让他给我出一个关于密度聚类的题目作为例子,来一步步计算,最后搞懂他。同时我发现b站上也有这个知识点的网课小视频,比如下图:
基本的考试策略就是这些,下面附上一些期末考试的必备伪代码和对应考题、其他复习题和网课资源(福利来了,速速三连吧):
这里再附上一些在b站的小知识点视频,我一般比较喜欢带例题讲解的小视频,只讲知识点的太抽象、太晦涩
CSDN也有很多案例和非常详细的系统性讲解,其他科目也是。这个收藏夹就在我这个账号上,大家直接获取不用逐一搜索
最后,大家学完后其实会发现单纯考试考核太过于理论性,这就是为什么说大学听课没什么用,大学卷绩点没什么意义等等这类说辞。其实我们这种考试无非就是掌握了像线性回归、聚类这类算法的逻辑,并没有投入真实实操应用的很多过程。所以建议大家“策略性应对期末考试、实践性掌握专业技能”,用功在平时、琢磨靠自研,大家可以借助大模型了解完算法思想、算法内部如何一步步计算运行的逻辑规律后,通过python代码自动化实现利用决策树、聚类算法实现水果分类、天气价格预测等这些小项目。有C语言基础的话,几天就可以速成python语法,主要靠自己手搓代码复现项目。
具体来说,学习python语言强力推荐“林粒粒呀”博主的B站这个网课,我当时刷了两遍,第二遍用了一个下午就刷了一遍这个课,他从最基础的语言入手,很通俗易懂(小道消息:她那里有国内镜像chatgpt,多看看她主页搜一搜,这里没广告哈,博主看到了快给我打钱哈哈哈)
听课其实远远还不够,通过实操代码来掌握python是很关键的,你在现实自己敲代码的时候才会知道什么是“眼高手低”、“BUG漫天飞”,下面这个博主开发的网页支持在线编程,没有繁琐的环境配置操作,非常适合新手操作。
前面说纳闷多,很多宝子可能会觉得学起来周期很漫长,从头学起没头绪等等。其实有上面的基础上手做项目会快很多,当然也可以直接跳到下面的项目实战阶段:
- 在CSDN、GitHub查找最基础的机器学习“小”项目,比如利用决策树分类“好瓜”与“坏瓜”(也就是把考试手算的题换成代码自动化实现结果)。【任何编程语言都可以实现,语言只是一个与计算机交流的工具,主要是掌握算法逻辑。决策树涉及画图这里推荐python】
- 然后把整个代码喂给GPT,用下面类似的提示词问他:“请帮我总结这套代码主要做了什么事情”“请逐行撰写详细注释,注意上下文段的关系,以教懂我这个小白为目的”
- 懂了算法思想和大体代码结构之后,将代码导入VScode这类编译器当中,通过打断点来模拟平时考试的逐行计算过程,一行一行往下运行,从而理解代码的思想。
- 在这过程中肯定还会有非常多困惑的地方,我喜欢总是问几个为什么,反复问gpt让他来教我搞懂。假如我是小白的话,针对下面的代码我可能会问“import是什么意思” “import numpy究竟导入的是numpy的什么东西” “numpy是什么,有哪些用途” “第5行括号里面的data是指传入的实际例子的数值吗?” “为什么第5行def后面需要用:冒号,而第一行import后面不需要用” “第6行iloc是什么意思,有什么作用” “return后面不需要;分号吗?”……
- 通过上面四个步骤反复训练之后基本上一套代码也就能搞明白了,你也能掌握主要的python语法了,下一步就可以去接触更加深入的算法和项目,比如手写数字识别、图像处理等等。其实机器学习、深度学习、数据挖掘、智能优化算法等等这些课程都大差不大。莫烦Python这个网站我虽然接触得很晚没有细学,但感觉他总结的确实很“系统”、很全乎。如果觉得多的话,也可以先挑着看一看感兴趣的。
整个python的学习体系、人工智能类项目学习体系概括得很到位,真的是相见恨晚,我在保研快要结束的时候才发现这个宝藏。当然大家也要广泛了解,不需要拘泥于一个地方,就像最开始说到的分散学习知识点的方法一样。
- 其实上面说的这些都是偏向于软件,直白点来说就是在电脑上运行就基本有运行结果。在真实就业面试或者是比赛获得超高奖项等方面,其实HR和评委更侧重于一些实际现场展示的而不是“虚”的东西。
不知道你有没有感觉,我们上面学的所有东西都是在“学习”,说白了就是照葫芦画瓢、借鉴和照搬别人现有的东西。所以在有了上面基础的情况下,宝子们可以进一步深入到,软硬结合的方向,比如机器人、机械臂、无人机等这类需要借助单片机等电子硬件来跑代码的项目。
同时上面的什么决策树、贝叶斯算法能否做一点小的改进来提高分类精准度等性能指标。“这就是创新”“这就是发论文的初步思路” !
有了上面的大量学习和实践之后相信你未来不管是读研、就业还是其他情况都会有不一样的收获,你也可以模拟一次未来某个时间节点的面试来撰写简历或者进行一次汇报,这样不断反馈、不断完善自己的技能和知识领域,做到有丰富性也有针对性。简历面注重基本功底的考察,汇报面有PPT可视化展示你的本科研究论文框架图、实物测试视频、真实参赛和各种证书等情况。具体面试可见下期分享,看到这里的宝子肯定是很感兴趣的吧!速速点赞关注收藏三连一下吧嘿嘿!
同时也可以从对方HR或者招生老师的视角问一问你自己,“你的优势是什么”“你在这个项目里面的主要工作是什么”“你有哪些改进和创新”“你为什么选择我们这”“你对本科阶段最大的感受是什么,有哪些收获和遗憾”。
最后,欢迎评论区提问,有其他任何问题都可以随时私信!
点赞关注收藏三连一下吧哈哈哈!