思考:学习深度学习是否要先学习机器学习?
共 3962字,需浏览 8分钟
·
2024-05-26 18:25
点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
编者荐语
学习深度学习是否要先学习机器学习?有同意也有反对的,都有一定道理。看看过来人怎么回答,然后你怎么认为的呢?
编者荐语
学习深度学习是否要先学习机器学习?有同意也有反对的,都有一定道理。看看过来人怎么回答,然后你怎么认为的呢?
编辑丨机器学习初学者
整理自丨知乎
回答一
作者:莫笑傅立叶
链接: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这些。深度学习在机器学习的基础模型上又有了很多扩展,需要更强的编程知识。
回答五
作者:辛俊波
链接:https://www.zhihu.com/question/382278216/answer/1127012045
作者:周岩
近几年面试了不少校招和实习生,深感深度学习之火,以至于很多学生只会各种nn网络,对基础的机器学习算法不屑于了解。在我看来,如果你真的想深入了解深度学习,就不可能不了解机器学习的很多算法基础,就说说过拟合
深度学习网络规模做大,免不了会遇到过拟合。说到过拟合欠拟合,都有什么手段解决?对于模型的方差和偏差分别怎么影响的?
正则化可以缓解过拟合,那我们来说说, l1正则和l2正则有什么区别?哦?除了了解网上经典的那张坐标解释,是否了解它们在贝叶斯先验上属于不同的分布?说到贝叶斯分布免不了要了解共轭先验,为什么要服从这种分布?还有哪些经典的共轭分布?
dropout也能解决过拟合,请问为什么能work?本质上就是一种bagging的思想。说到bagging,免不了就要知道boosting,这两者在降低模型方差偏差影响怎样?
说到dropout,免不了和batch normalization对比,后者是为了解决什么问题提出来的?对比数据白化,pca等其他方法有什么区别?还有哪些数据的normalization手段?
你看,一个过拟合的问题在深度学习的表现,看似都是深度的方法,背后涉及的原理全都是更加底层的机器学习基础。
编者回答
作者:黄海广
如果是单纯做本科生毕业设计的话,可以直接从深度学习入手,本科阶段对毕设的要求并不高,只要符合学术规范,不存在抄袭,模型能work即可。
作为老师,对本科阶段的毕设要求就是这些。
但是,如果想进一步提高的话,还是得学习下机器学习的基本原理。
最低要求掌握的机器学习知识是:
机器学习算法的类型:如监督学习(分类、回归)、无监督学习(聚类、降维等)等基础知识。
基础算法:线性回归、逻辑回归、PCA、K-means
机器学习技巧:模型拟合程度与正则,模型评估,特征工程等
编程技巧:先会Python的基本操作,然后看懂一些基本的机器学习算法的Numpy的实现,这时候才可以开始学PyTorch。
过了本科阶段,就不能做一个调包侠了,基础知识决定水平的上限。
下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。
下载2:Python视觉实战项目52讲 在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。
下载3:OpenCV实战项目20讲 在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~