Loading...
人工智能学习入门先搞懂这3个核心概念再动手

人工智能学习入门先搞懂这3个核心概念再动手

【标题】人工智能学习入门先搞懂这3个核心概念再动手 【正文】

前几天一个做设计的朋友给我发消息,说想转行做人工智能相关的工作,问我要不要先报个班学一下。我问他,那你觉得人工智能学习到底是在学什么?他愣了半天,回了一句,不就是学写代码嘛。

我当时差点把嘴里的水喷出来。说实话,这个误解太普遍了。很多人一提到人工智能学习,脑子里冒出来的就是密密麻麻的公式和看不懂的代码,觉得必须数学特别好、计算机科班出身才能碰。其实不是这样的。我见过太多人一上来就抱着深度学习框架啃,结果两个月过去连最基本的概念都没搞清楚,最后得出结论:我不适合学这个。

问题出在哪?出在顺序搞反了。人工智能学习这件事,你得先搞懂几个核心概念,再动手去试,不然就是白费力气。今天我不跟你扯那些虚的,就说说哪几个概念是真正的地基,搞懂它们,你后面的路会顺很多。

先说我的评选标准

什么叫核心概念?我的判断标准就三条。第一,它是不是贯穿整个人工智能学习过程的底层逻辑,你后面学的所有东西都绕不开它。第二,它能不能帮你少走弯路,提前避开那些新手最容易掉的坑。第三,它是不是可以用大白话讲清楚,不需要你先把高等数学重新学一遍。

按这三条标准筛下来,有三个概念是我逢人必讲的。我把它们排了个序,从最容易被忽视但最重要的开始说。

排在第一位的:数据和特征

你可能觉得奇怪,怎么不是算法?我跟你讲,绝大多数人工智能学习失败的人,不是败在算法上,是败在数据上。

我认识一个在广州做电商的小伙子,他想做一个自动给商品打标签的系统,信心满满地开始学。结果折腾了快一个月,模型训练出来的准确率一直在及格线附近晃悠。他以为是算法不够高级,换了好几种模型,还是不行。后来一个前辈看了一眼他的数据,直接说,你这数据里一半的标签都是错的,模型能学好才怪。

这就是典型的新手误区。人工智能学习的本质,是让机器从数据里找规律。你喂给它的数据是什么样,它学出来的就是什么样。数据质量不行,再牛的算法也救不了。

那什么叫特征?简单说,就是你从原始数据里挑出来的、对解决问题有帮助的那些信息。比如你要预测房价,面积、楼层、地段这些就是特征。但原始数据里可能还有房东的姓名、房屋的建造年份,这些对预测房价没什么用,你就得把它们剔除掉。这个过程叫特征工程,听起来高级,其实就是个体力活加经验活。做得好了,模型效果能提升一大截。

排在第二位的:模型训练和评估

数据准备好了,接下来才是模型的事。但很多人对模型训练的理解也有偏差,以为把数据丢进去,机器就自动学会了。没那么简单。

模型训练说到底就是两步:猜和调。模型先根据现有的参数对结果做一个猜测,然后看你告诉它的正确答案,算一下差距有多大,再根据这个差距去调整参数。反复循环,直到猜得越来越准。这个过程确实需要一些数学基础,但你不需要成为数学家才能理解它在干什么。

我这里想强调的其实是评估这件事。训练完了,你怎么知道模型好不好?很多新手就看一个准确率,95%就高兴得不行。但你细想,如果一个模型是判断邮件是不是垃圾邮件,而垃圾邮件只占总邮件的5%,那模型只要把所有邮件都判断成正常邮件,准确率也有95%。这种模型有什么用?一点用都没有。

提示:评估人工智能模型时,不要只看准确率。精确率、召回率、综合评价指标这些都要看,具体用哪个取决于你的实际场景。搞不懂这些,你就不知道模型到底是真学会了还是在糊弄你。

我自己在刚入门的时候就吃过这个亏。做了一个图像分类的小项目,准确率显示92%,我以为做得挺好。后来拿实际数据一测,发现它把所有相似的颜色都归成了一类,气得我当晚没睡好。从那以后我就养成了习惯,任何模型出来,先看综合评价指标,再看具体的分类结果。

排在第三位的:泛化能力

这个词听起来有点学术,但它的意思很朴素:你训练出来的模型,能不能用在没见过的新数据上。

有些模型在训练数据上表现特别好,几乎不出错,但一碰到新数据就歇菜了。这叫过拟合。就像你上学的时候,有些同学把课本上的例题背得滚瓜烂熟,考试题目稍微变一下就不会做了。这不能叫真的学会了。

解决过拟合有很多方法,比如增加数据量、简化模型、使用正则化技术。但我想说的是,泛化能力才应该是你衡量人工智能学习效果的核心指标。你在训练集上做到满分,不算本事。你在从来没见过的数据上还能做得不错,那才是真的学到了东西。

常见问题:零基础的人可以跳过数学直接学人工智能吗?

可以开始,但不能永远跳过。刚开始你可以用现成的工具和框架,先把整个流程跑通,建立感性认识。但学到一定阶段,你会发现有些问题搞不懂了,这时候回头补数学,效率反而更高。我个人的经验是,先动手再补理论,比先啃半年数学再动手要有效得多。

这三个概念怎么影响你的学习路径

搞懂这三个概念之后,你会发现人工智能学习这件事没那么玄乎。数据是原料,模型是加工机器,泛化能力是出厂检验标准。你做的所有事情,本质上都是在优化这三个环节。

那具体怎么开始呢?我的建议是,先找一个你熟悉领域的小问题,比如预测一下你们小区的快递到达时间。收集一些数据,自己做一个简单的模型出来,跑通整个流程。这个过程里你会遇到各种问题,但每解决一个,你对上面三个概念的理解就会深一层。

别一上来就买那个几十个课时的系统课。很多课讲得确实详细,但你基础概念没建立起来的时候,看那些内容就是囫囵吞枣。我见过太多人买了课之后,看了不到两章就再也没打开过。

还有些人特别纠结选什么工具,是学这个框架还是那个框架。说实话,工具是变化最快的。你今天花大力气学的某一个具体工具,可能明年就过时了。但数据和特征的处理思路、模型评估的方法、泛化能力的理解,这些东西是相对稳定的。把精力花在这上面,回报率更高。


回到我那个想转行的朋友。我后来跟他聊了两个小时,没有推荐任何具体的课程,就是把这几个概念用他能听懂的话讲了一遍。他听完说,感觉人工智能学习没那么吓人了。

这就对了。入门最怕的就是被吓住。你不需要先把所有东西都学会再动手,带着这几个核心概念去实践,边做边学,遇到问题再回头补,这才是大多数人能走通的路。

至于我那个朋友现在学得怎么样了?他上周跟我说他做了一个识别花卉品种的小程序,准确率大概七成左右,不高,但他挺开心的。我说这就对了,先跑起来,再慢慢调。人工智能学习这件事,最怕的就是站在原地不动。你现在在哪个阶段了?


本文链接:https://www.yunbeixinxi.com/shumaqianyan/2583.html