AI算法学习有多难?文科生啃了两个月的真相
简单说:文科生零基础啃AI算法学习,真正的坎在前三周的符号关和孤独感,不在智力。每天90分钟坚持两个月,就能从看不懂公式做到独立完成入门练习题。想学就先熬过头21天。
AI算法学习到底有多难?我是中文系毕业、干了八年公众号编辑的纯文科生,6月23日开啃,到8月底整整两个月,从看不懂一个偏导符号,做到了能独立跑通入门练习题。难是真难。但难的地方,跟你想的不一样。
起因很简单。周一例会上技术同事讲推荐策略,嘴里蹦出一串"向量召回""梯度""过拟合",整场会我像个误入的外宾。散会回工位,越想越憋屈。当晚装了Python,第二天开啃。
先交代底子,免得你以为我凡尔赛。高考数学91分,满分150。大学文科数学只上了一学期,考完就还给老师。编程经验为零,连Excel里的VLOOKUP都要同事帮我写。
就这么个基础。第一周我还挺自信,看科普视频嘛,谁不会。第二周原形毕露。吴恩达的课讲到梯度下降,屏幕上那个偏导数公式,我盯着看了三天。字母都认识,拼一起就是天书。挺离谱的。
7月4日晚上,我在阳台啃西瓜乘凉,脑子里还是那个公式。突然一下就想通了。这事后面细说,当时激动得西瓜差点掉地上。
AI算法学习难在哪?难的不是智力,是没人告诉你卡住很正常
原子答案:对文科生来说,AI算法学习的第一道坎不是数学多深,而是一套陌生符号、一段没人陪跑的孤独期,加上"卡住是不是说明我不行"的自我怀疑。熬过头三个星期,难度会明显下降。
拆开讲。头一个坎是符号。Σ、∂、上标下标、矩阵括号,这是一门新语言,跟你聪不聪明没关系,跟你肯不肯给它三周时间有关系。第二个坎是孤独。身边没人可问,搜索引擎给的答案常常是另一个看不懂的答案。7月中旬我有四天没碰电脑,反复琢磨一个问题:我一个写字的,学这个干嘛。
把我捞回来的是课程论坛。我在里面翻到成百上千个同样卡在梯度下降的帖子,提问的有医生、律师、英语老师。那一刻我才踏实——原来不是我不行,是这儿本来就堵。公开数据显示,吴恩达那门课在Coursera上累计注册人数超过400万,评分4.8(满分5)。四百万人排队掉进同一个坑,你掉的坑前人全掉过,也都爬出来了。
如果你正处在自我怀疑阶段,建议去看看这篇AI学习难点排行。卡住大多数人的其实就那几个坎,对号入座一下,心里会稳很多。
卡我最久的三个概念,和把我救活的三个比喻
原子答案:梯度下降、反向传播、过拟合,这三个概念吃掉了我差不多三周时间。救我的不是更狠地死磕公式,是三个文科生最趁手的东西——比喻。
梯度下降,卡了11天。死磕公式那几天,我把维基百科的机器学习词条翻来覆去看了好几遍,越看越糊涂。真正的转机是那个西瓜夜的顿悟:把它想成浓雾天找谷底的村子。你看不见路,只能拿脚试探哪边朝下,每步迈一小格,走多了自然到谷底。学习率就是步子的大小——步子太大,会一步跨过谷底来回震荡;步子太小,天黑了还没走到。公式里那个∂,不过是"脚下的坡度"换了身衣服。
这个比喻一通,回头再看公式,居然能看懂七成。
反向传播,卡了6天。这个概念我是看别人博客入门的,自己又补了个改试卷的版本:期末总分不及格是"损失",从最后一道大题倒着查,把扣掉的分数摊回每一步计算,谁的责任大谁多改。至于背后的链式法则,老实讲我到现在也手推不利索,但不妨碍我明白它在干嘛、用的时候该注意什么。
过拟合,2天搞定。这是我理解最快的一个,因为比喻就是我自己:背真题的学生。题库原题刷到接近满分,换一套新卷子当场现原形。文科生考研谁没这么背过政治大题?模型也一样,把训练数据背得太死,碰到新数据就露馅。
后面学KNN和决策树就快多了。KNN是"物以类聚",看你的邻居是谁,你八成也是谁;决策树是"相亲提问清单",先问最要命的条件,再问次要的。两个都是一遍过。
每天90分钟:我的AI算法学习时间表
原子答案:工作日每晚90分钟、周末每天约3小时,两个月累计约108小时,足够从零基础做到独立完成入门练习题。低于这个量也能学,只是节奏会散,容易断。
具体安排是这样。工作日21:30到23:00,雷打不动:前30分钟把昨天的笔记用自己的话重新讲一遍,讲卡壳的地方就是没真懂的地方;中间60分钟学新内容;最后30分钟做题或敲代码。周六上午整块3小时,周日看状态,平均1.5小时。
进度上,第1到3周补Python基础,花了18天,剩下的时间补数学;第4到6周学线性回归和逻辑回归;第7到8周碰决策树、KNN和聚类,开始刷题。该按什么顺序啃算法,这篇讲从线性回归到神经网络的通关顺序的文章比我说得细,我就是照着类似的路线走的。
说实话,第一个月的实际学习时间得打六折,剩下四成在发呆、刷手机、怀疑人生。第二个月效率才真正起来。所以别拿第一个月的进度吓自己。两个月的变化,我拉了张表:
| 对比维度 | 第一个月(6月底到7月底) | 第二个月(8月) | 我的主观评价 |
|---|---|---|---|
| 实际学习时长 | 标称45小时,实际约27小时 | 约63小时,基本全程在线 | 越往后越顺,跟健身一个道理 |
| 最常干的事 | 暂停视频、查符号、发呆 | 敲代码、跑数据集、读报错 | 报错见多了,胆子就大了 |
| 能独立完成的 | 跟着抄代码都能报错 | sklearn完整流程跑通 | 进步来得晚,但真的会来 |
| 数学状态 | 见到Σ就头疼 | 需要哪个查哪个 | 提前啃教材是我走过最大的弯路 |
两个月后我能做什么题?够得着的和够不着的
原子答案:两个月后,我能独立完成sklearn入门级练习——8x8手写数字识别跑出96.4%的准确率,Kaggle泰坦尼克号拿到0.7705分。够不着的同样清楚:手推公式、改网络结构、读论文,这三样还得再练很久。
最激动的是第八周那次。用sklearn自带的digits数据集做手写数字识别,逻辑回归模型,跑完终端吐出准确率96.4%。就一个数字。我盯着它看了两分钟。不夸张地说,那两分钟把前面所有煎熬都值回来了。
然后是Kaggle的泰坦尼克号生存预测,号称入门第一题。我独立走完读数据、补缺失值、特征编码、训练、提交的全流程,成绩0.7705。这分数在中游都算偏下,大神们0.8起步。但分数不是重点,重点是流程我一个人跑通,卡住的地方自己翻scikit-learn官方文档能解决八成。
够不着的也摊开说。手推反向传播,推了两遍,链式法则那步都卡住。认了。试着给神经网络加了一层,效果反而变差,为什么,不知道。论文摘要读起来还是费劲。这些是下两个月的活。
练什么题、用什么资源,这份免费的AI算法学习资源清单可以省你不少筛选时间,我走到今天没花一分钱课程费。
数学要不要先补?我的答案可能让你松口气
原子答案:不用提前啃数学书。两个月里我补的数学总共11小时:导数3小时、矩阵乘法2小时、概率4小时、链式法则2小时,够撑到入门结束。抱着教材从头啃,才是最容易把自己劝退的学法。
我的做法是缺哪个查哪个。碰到看不懂的符号,只查这一个,查懂了立刻回去继续,绝不多学一章。3Blue1Brown讲导数和神经网络的那几集,我各看了两遍:第一遍看个印象,第二遍对着笔记看。
这里必须交代一次翻车。7月中旬我雄心勃勃买了本《线性代数应该这样学》,计划两周啃完再回去学算法。结果啃了两章就吃灰——书里的内容和手头的练习完全接不上,纯属自我感动。别学我。
话说回来,那阵子我做梦都在雾里下山,媳妇说我半夜嘟囔"步子迈小点"。这糗事我到现在没跟她承认,她只当我写稿写魔怔了。
丑话也得说在前头:入门可以欠数学的债,进阶躲不掉。第九周往神经网络走的时候,明显感觉债主上门,我又回头补了两小时链式法则。想走得更远,这笔账早晚要还。
第二个真相:劝退你的从来不是难度,是没反馈
原子答案:两个月下来我看明白一件事——AI算法学习里真正劝退人的不是难,是长期没有正反馈。概念不懂可以查,代码报错可以改,唯独"学了三周还看不到任何成果"这件事,得自己想办法扛。
我的土办法是把进展全写进笔记,哪怕是"今天看懂了Σ"这种小事。回头看,第一个月的笔记全是问号,第二个月的笔记开始出现答案。那本翻烂的笔记,某种程度上比任何课程都顶用。之前写过一篇文科生自学AI的笔记和踩坑记录,里面的方法这次全用上了。
再偷懒一点的招:新手别贪多。先把三个算法吃透比啥都强,具体先啃哪三个,看这篇新手最先啃透的三个算法,我亲测这个顺序最不容易崩心态。
常见问题
文科生做AI算法学习,编程要学到什么程度才够?
Python基础够用就行。我花18天过完列表、循环、函数、pandas读表格这几样,就能开始跟课了。别追求精通,代码是越写越熟的,不是越背越熟的。我被一个报错卡过40分钟,原因居然是变量名拼错。这种弯路每人都要走,走一遍就长记性。
每天只有碎片时间,能学AI算法学习吗?
复习可以,学新内容不行。我试过通勤路上翻笔记,效果不错;也试过午休20分钟看新概念,一个偏导数符号拆成四段看,越拆越懵。新概念必须整块时间,90分钟是我实测的最低配置。
学两个月还是一团糟,是不是说明不适合?
真不是。我第一个月几乎零产出,眼看要放弃,第二个月才翻盘。判断标准不是"多久学会",是"卡住之后,第二天你还愿不愿意再打开它"。愿意,就适合;不愿意,先歇两周,别硬扛。
要不要报个班?
我个人觉得前两个月不用。免费资源足够走到能做练习题的程度,钱省下来换块好屏幕更实在。等确定要走深了再考虑付费课,那时你也才有能力分辨课的好坏。
两个月走完,我对AI算法学习的结论就一句:入门段的难度被传得太玄,进阶段的难度又容易被低估。它考的不是智力,是你能不能在看不到成果的头三个星期里,每天准时坐回书桌前。中文系的我做到了,你大概率也行。觉得有用的话,转给那个总念叨"我不是学数学那块料"的朋友,TA缺的不是脑子,是一句"卡住很正常"。