最近由于 ChatGPT 的爆火,引起了人们对于人工智能,尤其是机器学习和深度学习的新一轮关注。很多人也想一探究竟,更有想躬身入局的新手赛博炼丹师(人工智能程序员),那么如何入机器学习宗门,成为一名优秀赛博炼丹师呢?下面就给大家介绍一些入门的必备知识和学习路径,以及个人的一些心得。
图片来源于网络
一、 什么是机器学习?
想入宗门就得先知道本门是干什么的。本门入宗名所示,就是想让机器代替炼丹师以及普罗大众去学习,学习的对象就是世界的一切规律。
机器学习(Machine Learning, ML)是一个总称,用于解决由各位炼丹师自己开发算法而导致成本过高的问题,想要通过帮助机器 “发现” 它们 “自己” 解决问题的算法来解决 ,而不需要炼丹师自己将所有规则都输入机器,明确告诉机器该怎么做。
二、入门之路
想要入此宗门,还得先练不少功。且看成为一名优秀炼丹师所必练的武功:
1. 数学功
数学可以说是机器学习最基础的理论支撑,是机器学习的基本功之一。机器学习门派不能没有数学,就像彼岸的西方宗门不能没有耶路撒冷。
有很多新手炼丹师面对数学这一枯燥无味又高深莫测的基本功时,都会产生抵触情绪。毕竟数学博大精深,汇聚了多位数学门派的宗师之力,奠定了我们认识这个世界的基础。
图片来源于网络
但是机器学习门派只是巧借数学门派的一些东西,而非照单全收。(听我本科老师说过本门派中的某个祖师爷(三巨头之一)数学也不好。我们经常使用到的数学知识并不多。主要是以下几点:
- 高数:导数、梯度、泰勒展开公式(祭出两位数学门派祖师爷)
图片来源于网络
- 线代:向量和矩阵及其运算、范数、特征值和特征向量
- 概率论:条件概率、贝叶斯公式、最大似然估计、大数定律、期望和方差
掌握了这些,则基本已练成数学之功。相比于数学门派各徒子徒孙还要学习的解析几何、泛函分析等,对赛博炼丹师来说已经很友好了。
2. 语言功
这里算说的语言并不是自然语言,不需要苦练英语法语。而是要练习与机器交流的咒语(编程语言)。
想要成为优秀的赛博炼丹师,需要掌握两门以上的咒语,这里推荐大家除了学习必备的Python,还要学习C或者C++。因为C和C++作为非常古老的一门咒语,其与机器交流的速度比Python这门年轻咒语高效很多。但由于Python更简洁好用,已成为机器学习门派的事实标准咒语。因此,赛博炼丹师们对Python应该投入更多的时间,吃透这门咒语的所有数据类型和一些trick(如 lambda表达式),使得代码更加高效简洁。同时,还要掌握numpy、pandas这些常用的第三方库用于进行数据分析。
3. 机器学习功
有了前面两项功力的基础,就到了最重要的一门功夫——机器学习功。
这是本门派的同名功夫,看名字就知道是靠这门功夫吃饭的,其涵盖的重要内容也自然最多。除了机器学习的基本概念、模型评估与选择,还有多个机器学习模型,包括线性模型、决策树、神经网络、SVM、贝叶斯分类器等等,以及一般用于无监督学习的聚类模型(KMeans等)。此外,降维、特征选择等技巧也是需要学会的。
将上述理论转成实践,让机器完成上述模型,则一般会使用到sklearn库 等,不需要自己从头开始用数学理论搭建模型。
4. 深度学习功
机器学习门派发展到今天,深度学习功逐渐成为每个赛博炼丹师必须掌握的功夫了。此前大红大紫,成为门派门面的ChatGPT就是使用了深度学习的理论。
这门功夫是从机器学习功中的神经网络中发扬光大起来的,其又可再细分多种网络:线性神经网络、卷积神经网络、循环神经网络等。主要用于两大任务:计算机视觉(Computer Vision, CV)、自然语言处理(Normal Language Process, NLP),ChatGPT就是NLP领域中的一个大模型(LLM)。入机器学习门派还得有与时俱进的精神,按照目前的趋势,大模型成为每个赛博炼丹师必须了解的功夫之一,即使是新入门的炼丹师们,虽然不能马上就能融会贯通这门功夫,也得先了解个梗概。推荐各位赛博炼丹师们了解一下「知乎知学堂」联合「AGI课堂」推出的【程序员的AI大模型进阶之旅】公开课。
一共2天的体验课,由门派中的宗师全面解读大模型这项前沿技术,正式课中更是有对大模型的实际应用。
这也是机器学习门派非常讲究的将模型应用与实际问题中的实战能力,也是下面要讲到的最后一门功夫。所以,无论是程序员还是大学生,都非常适合拿这个项目来练手大模型功法。
5. 实战功
机器学习门派讲究的就是一个实干,上面的功夫大多是将实战中的一整个流程拆分成不同的部分进行逐个突破。最后,就要将这些功夫融为一体,正如降龙十八掌的最后一掌是前面十七掌综合而成,合为一掌融会贯通。
一个真正的实战一般是以下流程:
囊括数据预处理、数据集划分、模型训练、模型推理与评估几个主要步骤。构建模型需要用到机器学习功和深度学习功,具体运用哪种武功,全凭赛博炼丹师的兴趣和经验。数据预处理则是语言功中提到的数据分析能力,这中间也有许多需要赛博炼丹师深究的内容。
那么练习这门功夫,当然就是要用实际问题来练习,包括但不限于入门级项目:波士顿房价预测、泰坦尼克号生存预测等。还有复现宗师们发布的武林学说,在他们说的数据集上进行模型的训练和评估,通过炼丹法术,尝试将模型调的更好。还有就是实战课程中的项目了,如上面刚刚提到的【程序员的AI大模型进阶之旅】公开课。
三、 心得
分享了入机器学习门派的路线,再分享一下我在入门之路上的一些心得:
1. 一定要多练代码、配合代码理解算法思想;
2. 要善于使用知乎等平台,优秀的开发者会在这些平台上发布一些他们的经验和踩过的坑,能够节省大量时间;
3. 多追逐热点,了解最新的前沿技术,切不可闭门造车;
4. 还有就是实战,实战,实战! |