【讨论】学习深度学习是否要先学习机器学习?
有同学问:最近做毕设要做一个神经网络的课题,想请教一下各位我需不需要把机器学习也都学习一遍?
看看过来人怎么回答?有同意也有反对的,都有一定道理。
欢迎大家留言讨论。
回答一
作者:莫笑傅立叶
链接:https://www.zhihu.com/question/382278216/answer/1117203012
写在最前面:强烈推荐邱锡鹏老师的神经网络与深度学习,阅读起来极其流畅,收获颇多。
若做一个调包侠,只需要调包就完了,只需要知道输入输出就完了,那么一切从简,顺利完成毕设。
那么学习流程就是这样
python
keras
做图像 只会cnn就完了 from Keras.layers import Conv2D
做自然语言处理 只会LSTM 全连接就完了 from Keras.layers import LSTM, Dense。当然别忘了加个bert。bert是啥也不用太关注,只需要会keras_bert的模型建立就完事了
以上都不需要其他额外知识
判断模型好不好纯靠莽
若是从原理级别进行调整,需要直接改模型源码的
那么,统计学习方法 西瓜书 深度学习圣经 各种paper %%¥#@&&%¥¥%&&**等等等等都这时候了,我看还是选择第一个吧..一点不妨碍做完毕设,只不过只能做些应用型的项目罢了
若选择第一种,你就是面试官眼中高赞回答的样子以上
回答二
作者:辛俊波
链接:https://www.zhihu.com/question/382278216/answer/1127012045
近几年面试了不少校招和实习生,深感深度学习之火,以至于很多学生只会各种nn网络,对基础的机器学习算法不屑于了解。在我看来,如果你真的想深入了解深度学习,就不可能不了解机器学习的很多算法基础,就说说过拟合
深度学习网络规模做大,免不了会遇到过拟合。说到过拟合欠拟合,都有什么手段解决?对于模型的方差和偏差分别怎么影响的?
正则化可以缓解过拟合,那我们来说说, l1正则和l2正则有什么区别?哦?除了了解网上经典的那张坐标解释,是否了解它们在贝叶斯先验上属于不同的分布?说到贝叶斯分布免不了要了解共轭先验,为什么要服从这种分布?还有哪些经典的共轭分布?
dropout也能解决过拟合,请问为什么能work?本质上就是一种bagging的思想。说到bagging,免不了就要知道boosting,这两者在降低模型方差偏差影响怎样?
说到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。
过了本科阶段,就不能做一个调包侠了,基础知识决定水平的上限。
往期精彩回顾
本站qq群704220115,加入微信群请扫码: