咱们先来聊聊机器学习和深度学习的关系~
这个问题其实挺常见的,之前我也跟不少同事、同学聊过。最近有好几个同学也聊过。
简单说,深度学习是机器学习的一个子集,两者不是并列关系,而是“包含”关系。
你可以这么理解:
机器学习是一个大圈子,里面包括了各种方法,比如线性回归、决策树、支持向量机等等。而深度学习,它是基于神经网络的一类方法,尤其适合处理图像、语音、自然语言这些复杂的、非结构化的数据。
深度学习为什么这么火?主要是因为它在很多任务上效果太强了,特别是有了大数据和强算力之后,很多以前用传统机器学习搞不定的问题,深度学习一下子就能做得很不错。像你现在手机的语音识别、图像识别、推荐系统背后,基本都跑的是深度学习模型。
当然,并不是说深度学习就是万能的。很多时候,如果你的数据量不大,或者问题比较结构化(比如某些金融预测场景),传统机器学习可能更稳、更快、更容易调试。
我的建议是:
如果你是刚入门,可以先把机器学习的基础打牢,理解常见算法的原理和适用场景。
再去搞深度学习,这样你对模型的选择、优化、调参都会更有底气,不容易盲目跟风。
一句话总结:深度学习是机器学习的一部分,是目前特别擅长处理复杂问题的一类方法,但掌握它之前,基础的机器学习知识还是得扎实。
说说我的坑和经验,你作为参考~
其实你都已经自学了 Python 基础,那已经走出了第一步,非常棒的开端。
我的建议是:别太着急冲深度学习,先把几个关键基础打牢,不然学到一半容易卡住比较烦人。
我大概说一个路线:
1、打基础
Python基础,已经学习过,之后学学Python的进阶,比如 list/dict 的操作、函数、类这些,数据结构写清楚点能省很多debug时间。不说精通,起码写得顺手。
Numpy 和 Pandas:这两个是数据分析和深度学习的地基,numpy 主要是搞矩阵、向量那一套,处理数据关键的工具。
Matplotlib / Seaborn:基础的会用就好,用来画图看数据的,有助于你理解训练过程、模型表现,后面调参也会用到。
线性代数、微积分、概率论:不需要你能证明公式,但你得知道矩阵乘法为啥那么搞,loss 函数为什么用导数优化,反向传播是个什么概念等等
2、入门深度学习
先从深度学习框架入手(推荐 PyTorch):上手简单,社区也好,文档清晰,比 TensorFlow 人性化。
理解训练流程:前向传播、loss、反向传播、optimizer 这些概念是核心。
然后最简单的网络开始搭建(如 MLP、CNN),自己动手训练一个数字分类模型(MNIST)等等。
教程的话,我这边确实深度学习的不多,你可以参考吴恩达老师的深度学习,非常全的,另外还有李宏毅的深度学习课可以看看。
3、最后几点建议
整个阶段,我建议可以做小项目,或者实现小案例为目标,比如“做一个识别手写数字的小程序”、“用图像识别识别猫狗”,有目标比盲学有效很多。确实很多时候学习完基础知识点,很快会忘记,所以也要多多记录。
《机器学习+深度学习》和人工智能60G入门学习zi料包
【1.超详细的人工智能学习大纲】:一个月精心整理,快速理清学习思路!
【2.基础知识】:Python基础+高数基础
【3.机器学习入门】:机器学习经典算法详解
【4.深度学习入门】:神经网络基础(CNN+RNN+GAN)
扫马获取:
很多东西第一次听不懂是正常的,深度学习这玩意很多地方是“多看几遍才懂”的。
多读代码、多改代码:看别人怎么写的,然后自己照着写一遍,修改参数试试效果。
别怕慢:很多人学着学着就放弃了,坚持下来你慢慢会发现你已经入门,甚至在一些地方的理解已经很深入了。