【讨论】学习深度学习是否要先学习机器学习?

共 2496字,需浏览 5分钟

 ·

2021-03-01 13:25

↑↑↑点击上方蓝字,回复资料,10个G的惊喜

有同学问:最近做毕设要做一个神经网络的课题,想请教一下各位我需不需要把机器学习也都学习一遍?

看看过来人怎么回答?有同意也有反对的,都有一定道理。

欢迎大家留言讨论。

回答一

作者:莫笑傅立叶
链接:https://www.zhihu.com/question/382278216/answer/1117203012

写在最前面:强烈推荐邱锡鹏老师的神经网络与深度学习,阅读起来极其流畅,收获颇多。

  • 若做一个调包侠,只需要调包就完了,只需要知道输入输出就完了,那么一切从简,顺利完成毕设。

那么学习流程就是这样

  1. python

  2. keras

  3. 做图像 只会cnn就完了 from Keras.layers import Conv2D

  4. 做自然语言处理 只会LSTM 全连接就完了 from Keras.layers import LSTM, Dense。当然别忘了加个bert。bert是啥也不用太关注,只需要会keras_bert的模型建立就完事了

  5. 以上都不需要其他额外知识

  6. 判断模型好不好纯靠莽

  • 若是从原理级别进行调整,需要直接改模型源码的

那么,统计学习方法 西瓜书 深度学习圣经 各种paper %%¥#@&&%¥¥%&&**等等等等都这时候了,我看还是选择第一个吧..一点不妨碍做完毕设,只不过只能做些应用型的项目罢了
若选择第一种,你就是面试官眼中高赞回答的样子以上

回答二

作者:辛俊波
链接:https://www.zhihu.com/question/382278216/answer/1127012045

近几年面试了不少校招和实习生,深感深度学习之火,以至于很多学生只会各种nn网络,对基础的机器学习算法不屑于了解。在我看来,如果你真的想深入了解深度学习,就不可能不了解机器学习的很多算法基础,就说说过拟合

  1. 深度学习网络规模做大,免不了会遇到过拟合。说到过拟合欠拟合,都有什么手段解决?对于模型的方差和偏差分别怎么影响的?

  2. 正则化可以缓解过拟合,那我们来说说, l1正则和l2正则有什么区别?哦?除了了解网上经典的那张坐标解释,是否了解它们在贝叶斯先验上属于不同的分布?说到贝叶斯分布免不了要了解共轭先验,为什么要服从这种分布?还有哪些经典的共轭分布?

  3. dropout也能解决过拟合,请问为什么能work?本质上就是一种bagging的思想。说到bagging,免不了就要知道boosting,这两者在降低模型方差偏差影响怎样?

  4. 说到dropout,免不了和batch normalization对比,后者是为了解决什么问题提出来的?对比数据白化,pca等其他方法有什么区别?还有哪些数据的normalization手段?

你看,一个过拟合的问题在深度学习的表现,看似都是深度的方法,背后涉及的原理全都是更加底层的机器学习基础。

回答三

作者:取栗
链接:https://www.zhihu.com/question/382278216/answer/1384748071

作为一个在数学系学统计做过机器学习,工作后搞深度学习的人,我可以很负责任的告诉你,不需要
理论上来说,深度学习确实是机器学习的一部分。

十年前,深度学习其实还叫 ANN,是存活在机器学习里的一小部分(别喷,我知道现在主流是 CNN,跟ANN不同)。

但是实际上,深度学习是一个用计算机算力暴力求解问题的函数逼近器,跟从传统统计学习中脱胎而出的机器学习本质有很大区别,所以就算你从机器学习开始学起,然后再使用深度学习。很快你就会发现,两个东西完全不一样。

打个不恰当的比喻,前者是有严格数理推导的,比较nerd;后者则是暴力求解的代表,过后才试图用统计学知识和概念去解释,比较geek。所以如果只是使用深度学习完成一项工作的话,不要说掌握机器学习了,其实你只需要稍微了解一下深度学习就可以了,现在API调用十分无脑,配合pytorch这种pythonic的工具,可以说你只需要会点python,数据准备好,github找个项目拉下来一跑,齐活。

回答四

作者:周岩
链接:https://www.zhihu.com/question/382278216/answer/1192684168

最基础的东西还是要了解,机器学习本身就涉及到统计和优化的知识,是一门交叉学科。

不了解这些你不会明白那些模型是做什么的,也无法理解数据是如何用的。最起码要了解最基础的最小二乘,逻辑回归,贝叶斯,PCA这些。深度学习在机器学习的基础模型上又有了很多扩展,需要更强的编程知识。

编者回答

作者:黄海广

如果是单纯做本科生毕业设计的话,可以直接从深度学习入手,本科阶段对毕设的要求并不高,只要符合学术规范,不存在抄袭,模型能work即可。

作为老师,对本科阶段的毕设要求就是这些。

但是,如果想进一步提高的话,还是得学习下机器学习的基本原理。

最低要求掌握的机器学习知识是:

机器学习算法的类型:如监督学习(分类、回归)、无监督学习(聚类、降维等)等基础知识。

基础算法:线性回归、逻辑回归、PCA、K-means

机器学习技巧:模型拟合程度与正则,模型评估,特征工程等

编程技巧:先会Python的基本操作,然后看懂一些基本的机器学习算法的Numpy的实现,这时候才可以开始学PyTorch。

过了本科阶段,就不能做一个调包侠了,基础知识决定水平的上限。

也可以加一下老胡的微信
围观朋友圈~~~


推荐阅读

(点击标题可跳转阅读)

我爱线代,线代使我快乐

麻省理工学院计算机课程【中文版】

【清华大学王东老师】现代机器学习技术导论.pdf

机器学习中令你事半功倍的pipeline处理机制

机器学习避坑指南:训练集/测试集分布一致性检查

机器学习深度研究:特征选择中几个重要的统计学概念

老铁,三连支持一下,好吗?↓↓↓

浏览 20
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报