hsysg 发表于 2023-10-4 20:04:26

如何入门机器学习?有哪些值得分享的学习心得?

如何入门机器学习?有哪些值得分享的学习心得?

design8 发表于 2023-10-4 20:04:37

最近由于 ChatGPT 的爆火,引起了人们对于人工智能,尤其是机器学习和深度学习的新一轮关注。很多人也想一探究竟,更有想躬身入局的新手赛博炼丹师(人工智能程序员),那么如何入机器学习宗门,成为一名优秀赛博炼丹师呢?下面就给大家介绍一些入门的必备知识和学习路径,以及个人的一些心得。

http://pic1.zhimg.com/v2-886606b8201a21bc0c932b9ff18b82db_r.jpg?source=1940ef5c

图片来源于网络

一、 什么是机器学习?

想入宗门就得先知道本门是干什么的。本门入宗名所示,就是想让机器代替炼丹师以及普罗大众去学习,学习的对象就是世界的一切规律。
机器学习(Machine Learning, ML)是一个总称,用于解决由各位炼丹师自己开发算法而导致成本过高的问题,想要通过帮助机器 “发现” 它们 “自己” 解决问题的算法来解决 ,而不需要炼丹师自己将所有规则都输入机器,明确告诉机器该怎么做。


http://picx.zhimg.com/v2-e632beb3e9a073ec6e1215c393930c25_r.jpg?source=1940ef5c
二、入门之路

想要入此宗门,还得先练不少功。且看成为一名优秀炼丹师所必练的武功:

http://pic1.zhimg.com/v2-812148c1cb98b8228ed7e492a723ef36_r.jpg?source=1940ef5c
1. 数学功


http://pic1.zhimg.com/v2-772811a503b17b0e408536f4fb7fc769_r.jpg?source=1940ef5c
数学可以说是机器学习最基础的理论支撑,是机器学习的基本功之一。机器学习门派不能没有数学,就像彼岸的西方宗门不能没有耶路撒冷。
有很多新手炼丹师面对数学这一枯燥无味又高深莫测的基本功时,都会产生抵触情绪。毕竟数学博大精深,汇聚了多位数学门派的宗师之力,奠定了我们认识这个世界的基础。

http://pic1.zhimg.com/v2-f2681afa303884b92d8b5f3be492bf17_r.jpg?source=1940ef5c

图片来源于网络

但是机器学习门派只是巧借数学门派的一些东西,而非照单全收。(听我本科老师说过本门派中的某个祖师爷(三巨头之一)数学也不好。我们经常使用到的数学知识并不多。主要是以下几点:

[*]高数:导数、梯度、泰勒展开公式(祭出两位数学门派祖师爷)

http://picx.zhimg.com/v2-eb1f54711664fadcbc4c18560690dda8_r.jpg?source=1940ef5c

图片来源于网络


[*]线代:向量和矩阵及其运算、范数、特征值和特征向量
[*]概率论:条件概率、贝叶斯公式、最大似然估计、大数定律、期望和方差
掌握了这些,则基本已练成数学之功。相比于数学门派各徒子徒孙还要学习的解析几何、泛函分析等,对赛博炼丹师来说已经很友好了。
2. 语言功



http://picx.zhimg.com/v2-79825aadb671c6bb97ca8cebba2a6ce6_r.jpg?source=1940ef5c

这里算说的语言并不是自然语言,不需要苦练英语法语。而是要练习与机器交流的咒语(编程语言)。
想要成为优秀的赛博炼丹师,需要掌握两门以上的咒语,这里推荐大家除了学习必备的Python,还要学习C或者C++。因为C和C++作为非常古老的一门咒语,其与机器交流的速度比Python这门年轻咒语高效很多。但由于Python更简洁好用,已成为机器学习门派的事实标准咒语。因此,赛博炼丹师们对Python应该投入更多的时间,吃透这门咒语的所有数据类型和一些trick(如 lambda表达式),使得代码更加高效简洁。同时,还要掌握numpy、pandas这些常用的第三方库用于进行数据分析。
3. 机器学习功



http://picx.zhimg.com/v2-cc5c2155c2a5faf109e96b70721d7a61_r.jpg?source=1940ef5c

有了前面两项功力的基础,就到了最重要的一门功夫——机器学习功。
这是本门派的同名功夫,看名字就知道是靠这门功夫吃饭的,其涵盖的重要内容也自然最多。除了机器学习的基本概念、模型评估与选择,还有多个机器学习模型,包括线性模型、决策树、神经网络、SVM、贝叶斯分类器等等,以及一般用于无监督学习的聚类模型(KMeans等)。此外,降维、特征选择等技巧也是需要学会的。
将上述理论转成实践,让机器完成上述模型,则一般会使用到sklearn库 等,不需要自己从头开始用数学理论搭建模型。
4. 深度学习功



http://picx.zhimg.com/v2-df114c3d9e2cb4e85010fe66b5da5a79_r.jpg?source=1940ef5c

机器学习门派发展到今天,深度学习功逐渐成为每个赛博炼丹师必须掌握的功夫了。此前大红大紫,成为门派门面的ChatGPT就是使用了深度学习的理论。
这门功夫是从机器学习功中的神经网络中发扬光大起来的,其又可再细分多种网络:线性神经网络、卷积神经网络、循环神经网络等。主要用于两大任务:计算机视觉(Computer Vision, CV)、自然语言处理(Normal Language Process, NLP),ChatGPT就是NLP领域中的一个大模型(LLM)。入机器学习门派还得有与时俱进的精神,按照目前的趋势,大模型成为每个赛博炼丹师必须了解的功夫之一,即使是新入门的炼丹师们,虽然不能马上就能融会贯通这门功夫,也得先了解个梗概。推荐各位赛博炼丹师们了解一下「知乎知学堂」联合「AGI课堂」推出的【程序员的AI大模型进阶之旅】公开课。

一共2天的体验课,由门派中的宗师全面解读大模型这项前沿技术,正式课中更是有对大模型的实际应用。


http://picx.zhimg.com/v2-545edd4fdf4d276852e891e0c4aaf368_r.jpg?source=1940ef5c

这也是机器学习门派非常讲究的将模型应用与实际问题中的实战能力,也是下面要讲到的最后一门功夫。所以,无论是程序员还是大学生,都非常适合拿这个项目来练手大模型功法。
5. 实战功


http://picx.zhimg.com/50/v2-005307fb09fae441b62e729e1dc9b54f_720w.jpg?source=1940ef5c
机器学习门派讲究的就是一个实干,上面的功夫大多是将实战中的一整个流程拆分成不同的部分进行逐个突破。最后,就要将这些功夫融为一体,正如降龙十八掌的最后一掌是前面十七掌综合而成,合为一掌融会贯通。
一个真正的实战一般是以下流程:

http://picx.zhimg.com/v2-6e90d23527eae4833f9564f41116046d_r.jpg?source=1940ef5c
囊括数据预处理、数据集划分、模型训练、模型推理与评估几个主要步骤。构建模型需要用到机器学习功和深度学习功,具体运用哪种武功,全凭赛博炼丹师的兴趣和经验。数据预处理则是语言功中提到的数据分析能力,这中间也有许多需要赛博炼丹师深究的内容。
那么练习这门功夫,当然就是要用实际问题来练习,包括但不限于入门级项目:波士顿房价预测、泰坦尼克号生存预测等。还有复现宗师们发布的武林学说,在他们说的数据集上进行模型的训练和评估,通过炼丹法术,尝试将模型调的更好。还有就是实战课程中的项目了,如上面刚刚提到的【程序员的AI大模型进阶之旅】公开课。
三、 心得

分享了入机器学习门派的路线,再分享一下我在入门之路上的一些心得:
1. 一定要多练代码、配合代码理解算法思想;
2. 要善于使用知乎等平台,优秀的开发者会在这些平台上发布一些他们的经验和踩过的坑,能够节省大量时间;
3. 多追逐热点,了解最新的前沿技术,切不可闭门造车;
4. 还有就是实战,实战,实战!

yym110 发表于 2023-10-4 20:05:37

最近收到几个类似的咨询,我来分享一个问题,这个小老弟本来打算好好学一下机器学习的,但雄心壮志的买了几本书,刚刚搞懂了「回归方程」,就发现自己的同学用ChatGPT已经开始深度学习调参了。

http://pic1.zhimg.com/v2-6c715abd72948fcc689b20b966a7d025_r.jpg?source=1940ef5c
你看这就是小老弟问我的问题,其实我也深有感触,因为我自己学习机器学习的时候是从西瓜书和统计学习方法看起来的。

http://picx.zhimg.com/v2-4feef51558f7f43164a5fe19e7e6beea_r.jpg?source=1940ef5c

http://picx.zhimg.com/v2-89ad13935dc962f896aad5c647d93173_r.jpg?source=1940ef5c
就比如第二本书,最开始的章节就是非常枯燥的理论学习,比如各种概念的介绍以及公式的推导。

http://picx.zhimg.com/v2-bea7e65713391a439160f12033605d0e_r.jpg?source=1940ef5c
说实话,我看这本书曾经放弃过两次,因为内容太干了,就 比如下面这样的,你要是懂了以后不难,但是在搞懂之前,会让人非常的难以读完。

http://pica.zhimg.com/v2-b368f67904fba679544f7f1bc52cb099_r.jpg?source=1940ef5c
更重要的是,这个东西跟想象中的机器学习不太一样。

http://pica.zhimg.com/v2-a68781679b2904dd83488b8fb78f4af2_r.jpg?source=1940ef5c
因为大多数接触到机器学习都是它的某项具体应用,它可以是人脸识别,可以是手写字体识别,或者是各种预测模型,而正儿八经开始学习它的时候,会发现它的背后有大量的数学要学,以及机器学习的各种算法推导。
但其实并不是所有的人都需要从公式推导开始学起的(特别是在ChatGPT的出现后,机器学习的代码部分其实门槛变得很低了),因为理论其实最终是要服务于应用的,有些同学学习机器学习的目的肯定很简单,就是自己的课题有很多合适的数据,如果可以应用机器学习进行分析预测的话,就很方便发论文,那么在这种情况下,其实是不太需要从理论开始学习的。
只需要了解大体有哪些机器学习算法,以及各种算法的适用环境以及条件是什么,以及怎么把模型搭建起来并开始训练,就这么简单。
所以我在给大多数的非计算机科班且数学基础非常差的同学推荐学习方法时候,一般不会直接扔两本过去,因为我很清楚,只要那些一心打算搞算法的同学才能硬啃下这种一开始非常不友好的书籍。
大多数的同学只是想用机器学习来完成自己的目标而已,对于其中的数学原理其实并不关心,而在这种情况下,就得换一条思考方式,或者说学习方式。
这里我强推结合ChatGPT来帮助你学机器学习,它在这方面非常的强,胜过很多书籍和资料,最重要的是它可以扮演一个知识非常丰富且知无不言的老师。这就是大模型的魅力,它可以放大你的能力,比如说你不擅长代码,那么它可以帮助你实现你的想法,无论什么语言它都可以做的非常棒。其实无论是从业者,还是在校的同学,都非常的建议了解一下「知乎知学堂」联合「AGI课堂」推出的【程序员的AI大模型进阶之旅】公开课,一共2天的课程,可以帮助你迅速的掌握大模型的潜力,以及它如何可以跟你的职业或者学习相结合。
因此, 我非常推荐大家可以先从非常入门的理论开始,比如什么是监督学习,也就是你的数据是有标签的,举例来说,你要通过一个人的体重预测一个人的身高,数据中有体重有身高的话,那就是监督学习,否则是无监督学习。接下来可以学习一些非常的基础的编程基础,python是我最推荐的,有很多的在线平台可以帮助你学习。接下来你就可以开始具体的机器学习应用了,比如做一些非常经典的应用以及测试,最后你真的感兴趣了,想着深入学习了,这时候再去学习数学部分也不迟。
这是我总结出来的五个步骤,非常系统的方法来进行机器学习的入门:
1 理解机器学习的基本概念:首先需要了解机器学习的基本概念和常见术语,例如什么是监督学习、无监督学习、回归、分类、训练集、测试集等。

这部分我非常建议结合一些cheatsheet来学习,比如像这样的。



http://picx.zhimg.com/v2-ee1ac31f2ec1f2365b5455c79ce49600_r.jpg?source=1940ef5c

它有两个好处,1 cheatsheet往往会把类似的内容集中在一起,所以一张图就相当于一个非常详细的大纲,比如上面这张基本上把主流的机器学习应用和具体的算法都对应了起来,你会学的非常有针对性以及可以把握整体的脉络。2 学习英文,机器学习大多数专业词汇都建议直接用英文,中文翻译的版本往往不统一,其次,前沿的理论以及应用一般都是先发表成英文,中文版的往往会滞后不短时间。再加上其实核心的词汇并没有多少,完全可以边学机器学习的时候边学英文。 【cheatsheet查找方式:打开google,搜索 “【你要看的内容】+ cheatsheet”, 然后从结果里找图片就行】,比如下面这样的。


http://picx.zhimg.com/v2-0cad79c4e9f71b92204b79d0fb4f56b7_r.jpg?source=1940ef5c
2 学习编程基础:Python是最常用的机器学习编程语言,它语法简单易懂,且有大量的库可以使用。


虽然ChatGPT可以帮你写代码,但是基本的python编程还是得学的,毕竟ChatGPT写的代码也有不少的bug,你起码得知道bug该怎么改。

而这部分你要学的内容没有很多,随便一个python在线课程都可以,我推荐一个免费的网站<a href="http://link.zhihu.com/?target=https%3A//www.w3schools.com/python/default.asp" class=" external" target="_blank" rel="nofollow noreferrer">https://www.w3schools.com/python/default.asp

你学到对象/类这里就可以了,记住如果碰到理解不了的,直接把问题抛给ChatGPT帮你解答。


http://pic1.zhimg.com/v2-012906dce355e57e96b67c0cb5ebff09_r.jpg?source=1940ef5c
熟悉常用的机器学习库:对于Python来说,有许多预构建的机器学习库如Scikit-learn、Pandas、NumPy等,这些库可以让你在不深入理解数学细节的情况下,完成大部分机器学习任务。


主要的库就这么几个,标*的是必学的,其他的可以暂时不学,或者让ChatGPT代劳。

库/模块名称简介*NumPy提供了大量的数学函数以及用于操作大型数据集或数学数组的函数*pandas提供了一种灵活的数据结构,使我们能够在 Python 中处理和分析表格型或异质型数据*Matplotlib一个用于创建静态、动态或交互式可视化图表的库Seaborn提供了一组高级界面,用于绘制吸引人的统计图形*Scikit-Learn提供了一些简单且高效的工具,用于数据挖掘和数据分析TensorFlow一个开源的深度学习框架,由 Google Brain 团队开发Keras一个用于构建和训练深度学习模型的高级接口PyTorch一个开源的深度学习框架,由 Facebook 的人工智能研究团队开发
这部分算是开始机器学习的实操了,在你掌握了python基础后,再加上ChatGPT的帮助下,其实很难的这部分难度骤降,你可以参考那张机器学习算法的cheatsheet来一个个的让ChatGPT生成算法并一步步地给你解释,这要比看书来得快也更有意思。
比如你想学linear regression 线性回归,那你可以让ChatGPT来教你,这么问:请用python生成一个线性回归的机器学习算法,并用一些模拟数据进行训练和验证,最后一步步的教我怎么实现的,最好包含相应的数学公式


http://picx.zhimg.com/v2-9b60efc7952c30c0007209f08c6e80c7_r.jpg?source=1940ef5c

不懂的地方直接问ChatGPT,比如说你不想问现成的库,想自己做一个加强印象,你可以这么问。


http://pic1.zhimg.com/v2-564b515f9675846f3d5cd56743b2e01f_r.jpg?source=1940ef5c

所以,记住,不会的地方直接问就可以。
实践是最好的老师:通过小项目进行实战练习是最好的学习方式。你可以尝试使用Kaggle平台,那里有许多数据集可以供你实践。

https://www.kaggle.com/datasets?search=machine+learning
你可以看到每个数据集都对应了一个机器学习任务,你可以随便选一个开始,从学习人家的代码开始。

http://pica.zhimg.com/v2-d1f8b0017b6c7084a9d5acce127f94bc_r.jpg?source=1940ef5c
或者,如果你觉得这些还是难,那就让ChatGPT帮你设计一个小项目,并且让它生成一个模拟的数据集来让你进行实验,不会的正好还可以问它。
最后,如果对于大模型不是很了解,建议去看下我推荐的学习资料以及相关课程,可以让你的机器学习之路事半功倍。

威廉.尚 发表于 2023-10-4 20:05:52

Notes的集合在这里,大家自取:


机器学习Cheat Sheet

<hr/>抛开吴恩达不谈,那可能其他的姿势可能就不怎么灵,咳咳。。。
正经的,还是给想要入门机器学习的同学推荐一下学习的路径吧。

总的来说,
第一步:基础的线性代数、微积分、概率论的知识:

划重点:
线性代数:
掌握矩阵的相乘、转置、矩阵的逆,


http://picx.zhimg.com/v2-ce11dcc2bb1122cc4c9e973b5ded5838_r.jpg?source=1940ef5c
掌握向量的模长计算
掌握掌握计算矩阵的特征值和特征向量,以及矩阵分解

http://pic1.zhimg.com/v2-47b29b4e22ef91e7d665af4d4acaa228_r.jpg?source=1940ef5c

微积分:
掌握矩阵的求偏导

http://picx.zhimg.com/v2-25a1eaa7e5601617ea2e9e2887d87924_r.jpg?source=1940ef5c
概率论:
组合学
条件概率(贝叶斯法则)
独立事件的理解
PDF 和 CDF
期望和方差

http://picx.zhimg.com/v2-58eb8877cc7249caa30e9d17cb64454f_r.jpg?source=1940ef5c
协方差矩阵
相关性矩阵
分布概型
中心极限定理

http://pic1.zhimg.com/v2-6956b1e91ef24f6896de667ec1f8801c_r.jpg?source=1940ef5c

第二步:有监督类机器学习

Discriminative Model VS Generative Model
损失函数
梯度下降
似然

http://picx.zhimg.com/v2-52b5c88377bad037c42a8cf95d844941_r.jpg?source=1940ef5c
线性回归
支持向量机模型
树模型与集成算法
Learning Theory

http://pica.zhimg.com/v2-df3acfc1ca20f7442efea0217fe4acf4_r.jpg?source=1940ef5c

http://pic1.zhimg.com/v2-61e4d2ae66cb6a71631fb8d5eb04262b_r.jpg?source=1940ef5c

http://pica.zhimg.com/v2-e2d154f50141b6fcd18f73e00a2d5770_r.jpg?source=1940ef5c
第三步:无监督类机器学习


最大似然
K-Means算法
递归聚类

http://pic1.zhimg.com/v2-465d6e3fb06e61cda4f2c9b8798fce75_r.jpg?source=1940ef5c

主要元素分析
独立元素分析

http://pica.zhimg.com/v2-438d17d4a2e4eb8ad06a53c502592ac6_r.jpg?source=1940ef5c

第四步:深度神经网络

神经网络
激活函数
反向传播

http://picx.zhimg.com/v2-a80730c98767bdea366094ea3207a8b8_r.jpg?source=1940ef5c

卷积神经网络
循环神经网络
强化学习

http://picx.zhimg.com/v2-13ea604b03ebb706fff614d64fe92021_r.jpg?source=1940ef5c
第五步:掌握“调参”等模型优化技巧

模型选择
交叉验证
正则化
Bias 和 Variance 的trade-off
过拟合和次拟合的诊断

http://pic1.zhimg.com/v2-bb996d3f37ec897031b2cb4c91f84ab5_r.jpg?source=1940ef5c

第六步:掌握机器学习的任务指标

混淆矩阵
分类任务:Accuracy、Precision、Recall、F1 Score、ROC、AUC等指标
回归任务:MSE


http://picx.zhimg.com/v2-3522e6980254731539b81587cb77fcb0_r.jpg?source=1940ef5c
<hr/>广告时间:

我目前在微软担任主力面试官,也是目前我们部门的算法面试出题人,同时也向技术社区输出了不少改编题,也通过组织求职群帮在过去的五年中帮助了三千多位同学成功进入FLAG等顶尖科技公司。

http://pica.zhimg.com/v2-c9a0e0b5cc2c29c4ef847cc9892afaeb_r.jpg?source=1940ef5c

http://pic1.zhimg.com/v2-325dc1201b1d2ba3cb86b5dd6ae2c647_r.jpg?source=1940ef5c

http://picx.zhimg.com/v2-874a73586560585b7ee926be3652eb0e_r.jpg?source=1940ef5c
关于我们的干货分享群:大家可以加助教Andy的微信进群:MSBZ1019,也可以加我的个人微信:MSFT_Justin

http://pica.zhimg.com/v2-3d653584264fd7d278fe70c5cbb546bf_r.jpg?source=1940ef5c

http://pic1.zhimg.com/v2-83552e5f7ad8ff3e8cb473eb3c022988_r.jpg?source=1940ef5c
在我们群里吸收干货的同学,即便是在Hiring Freeze的去年和大裁员的今年,也有不少上岸了大厂。我们的求职群帮在过去的五年中帮助了三千多位同学成功进入FLAG等顶尖科技公司。更多内容可以访问我们大牛学院的网站:


大牛学院

http://pic1.zhimg.com/v2-7ed46d2c9f652147aa9f933995fe2fe5_r.jpg?source=1940ef5c
关于我们的课程和项目指导:
关于职业规划四节课


老贾:关于职业规划四节课

关于算法突击班与算法面试的常见问题


老贾:关于算法突击班与算法面试的常见问题

北美求职Timeline以及保offer项目介绍


老贾:北美求职Timeline以及保offer项目介绍

http://pica.zhimg.com/v2-c552192d52316c45606b0baef3cf4967_r.jpg?source=1940ef5c

http://picx.zhimg.com/v2-4585d344918f2d0e810878b2c9249b55_r.jpg?source=1940ef5c

http://picx.zhimg.com/v2-f63a335545d4bcbb7536f329b82d5d77_r.jpg?source=1940ef5c

fredqiqi 发表于 2023-10-4 20:06:37

华盛顿大学Pedro Domingos的文章《A Few Useful Things to Know about Machine Learning》总结了机器学习研究人员和实践者所学到的12个关键的经验及教训,包括要避免的陷阱,需要关注的重点问题以及常见问题的答案。
原文在这里:https://homes.cs.washington.edu/~pedrod/papers/cacm12.pdf下面说下机器学习是什么以及入门学习路径,最后送你一些学习资源。
一、什么是机器学习?如何入门?

1.1 人工智能>机器学习>深度学习

简而言之,机器学习是一种实现人工智能的方法,深度学习是一种实现机器学习的技术。

http://picx.zhimg.com/v2-5f80c95fa037a868c233d5f308a4f760_r.jpg?source=1940ef5c
1.2 机器学习:

机器学习(machine learning)一般被定义为一个系统自我改进的过程。从字面意义上说,机器指计算机,学习是这个自我改进的过程。最初机器学习这个名字由Arthur Samuel提出,他给了机器学习一个非正式的定义。
Arthur Samuel的机器学习定义
机器学习是一个这样的领域:计算机在程序员并不对其进行显式编程的情况下进行自我学习的能力。1.3 机器学习的三要素

简单地说,机器学习的三要素就是:模型、策略和算法。
【模型】其实就是机器学习训练的过程中所要学习的条件概率分布或者决策函数。
【策略】就是使用一种什么样的评价度量模型训练过程中的学习好坏的方法,同时根据这个方法去实施的调整模型的参数,以期望训练的模型将来对未知的数据具有最好的预测准确度。
【算法】算法是指模型的具体计算方法。它基于训练数据集,根据学习策略,从假设空间中选择最优模型,最后考虑用什么样的计算方法去求解这个最优模型。
二、入门方法与学习路径


http://picx.zhimg.com/v2-f3c9a66fdb4d6190ba5fb4e94434e7a0_r.jpg?source=1940ef5c
2.1 数学基础

基本所有常见机器学习算法需要的数学基础,都集中在微积分、线性代数和概率与统计当中。
(1)微积分
微分的计算及其几何、物理含义,是机器学习中大多数算法的求解过程的核心。比如算法中运用到梯度下降法、牛顿法等。
(2)线性代数
大多数机器学习的算法要应用起来,依赖于高效的计算,这种场景下,程序员们习惯的多层for循环通常就行不通了,而大多数的循环操作可转化成矩阵之间的乘法运算,这就和线性代数有莫大的关系了。
2.2 经典算法

分类算法: 逻辑回归(LR),朴素贝叶斯(Naive Bayes),支持向量机(SVM),随机森林(Random Forest),AdaBoost,GDBT,KNN,决策树……
回归算法: 线性回归(Linear Regression),多项式回归(Polynomial Regression),逐步回归(Stepwise Regression),岭回归(Ridge Regression),套索回归(Lasso Regression)
聚类算法: K均值(K-Means),谱聚类、DBSCAN聚类、模糊聚类、GMM聚类、层次聚类
降维算法: PCA(主成分分析)、SVD(奇异值分解)
推荐算法: 协同过滤算法
Python 3 天快速入门机器学习项目 - 知乎2.3 编程能力

精通一门编程语言,就是要了解它的一切。比如说:

[*]它产生的背景
[*]它解决了哪些问题
[*]它的设计思想是什么
[*]它有哪些优势和缺陷
[*]它有哪些经典的项目
[*]它应该在什么情况下被使用
[*]它现在的发展状况是怎样的
[*]......
而在我们实际的工作当中大部分人是停留在会用的层面,能够完成基本的工作任务,这是不能成为“精通”的。
打个比方就是像学数学一样,“会用公式解题”和“能够推导出这个公式”,这在根本意义上是两码事。
黑马程序员Python:零基础怎么学Python?要学多久?三、机器学习有哪些好资源?

3.1 机器学习相关库

也可以参考 awesome-machine-learning

[*]Crab:灵活、快速的推荐引擎。
[*]NuPIC:智能计算 Numenta 平台。
[*]pattern:Python 网络挖掘模块。
[*]PyBrain:另一个 Python 机器学习库。
[*]Pylearn2:一个基于 Theano 的机器学习库。
[*]python-recsys:一个用来实现推荐系统的 Python 库。
[*]scikit-learn:基于 SciPy 构建的机器学习 Python 模块。
[*]vowpalporpoise:轻量级 Vowpal Wabbit 的 Python 封装。
[*]gym:开发和比较强化学习算法的工具包。
[*]H2O:开源快速可扩展的机器学习平台。
[*]Metrics:机器学习的评估指标。
[*]vowpal_porpoise:Python 版 Vowpal Wabbit 装饰器。
[*]xgboost:可扩展,便携式和分布式梯度提升库。
[*]MindsDB:MindsDB 是现有数据库的开源 AI 层,可让使用标准查询轻松地进行开发,训练和部署最新的机器学习模型。
3.2 相关学习网站


[*]Heywhale和鲸(官网)- 数据科学协同平台
[*]Kaggle: Your Machine Learning and Data Science Community
[*]http://archive.ics.uci.edu/ml/datasets.php
四、机器学习入门-提升书籍

4.1 入门

1-《Python机器学习基础教程》豆瓣8.7分
本书是机器学习入门书,以Python语言介绍。本书主要内容包括:

[*]机器学习的基本概念及其应用;
[*]实践中最常用的机器学习算法以及这些算法的优缺点;
[*]在机器学习中待处理数据的呈现方式的重要性,以及应重点关注数据的哪些方面;
[*]模型评估和调参的高级方法,重点讲解交叉验证和网格搜索;
[*]管道的概念;
[*]如何将前面各章的方法应用到文本数据上,还介绍了一些文本特有的处理方法。
2-《统计学习方法(第2版)》豆瓣9.3分
本书分为监督学习和无监督学习两篇,全面系统地介绍了统计学习的主要方法。包括感知机、k 近邻法、朴素贝叶斯法、决策树、逻辑斯谛回归与最大熵模型、支持向量机、提升方法、EM 算法、隐马尔可夫模型和条件随机场,以及聚类方法、奇异值分解、主成分分析、潜在语义分析、概率潜在语义分析、马尔可夫链蒙特卡罗法、潜在狄利克雷分配和 PageRank 算法等。
4.2 进阶

3-《机器学习实战(原书第2版)》豆瓣9.9分
这本机器学习畅销书基于TensorFlow 2和Scikit-Learn的新版本进行了全面更新,通过具体的示例、非常少的理论和可用于生产环境的Python框架,从零帮助你直观地理解并掌握构建智能系统所需要的概念和工具。
通过本书,你会学到一系列可以快速使用的技术。每章的练习可以帮助你应用所学的知识,你只需要有一些编程经验。所有代码都可以在GitHub上获得。
4-《tensorflow实战》豆瓣7.2分
自TensorFlow于2015年底正式开源,距今已有一年多,这期间TensorFlow不断给人以惊喜,推出了分布式版本,服务框架TensorFlow Serving,可视化工具TensorFlow,上层封装TF.Learn,其他语言(Go、Java、Rust、Haskell)的绑定、Windows的支持、JIT编译器XLA、动态计算图框架Fold,以及数不胜数的经典模型在TensorFlow上的实现(Inception Net、SyntaxNet等)。
4.3 提升

5-《神经网络与机器学习(原书第3版)》豆瓣8.1分
在本书中,作者结合近年来神经网络和机器学习的最新进展,从理论和实际应用出发,全面、系统地介绍了神经网络的基本模型、方法和技术,并将神经网络和机器学习有机地结合在一起。
6-《图像处理、分析与机器视觉》(第3版)豆瓣7.2分
本书是为计算机专业图像处理、图像分析和机器视觉课程编写的教材。
《图像处理、分析与机器视觉(第3版)》针对图像处理、图像分析和机器视觉领域的有关原理与技术展开了广泛而深入的讨论,包括图像预处理、图像分割、形状表示与描述、物体识别与图像理解、三维视觉、数学形态学图像处理技术、离散图像变换、图像压缩、纹理描述、运动分析等。

月爷 发表于 2023-10-4 20:07:09


[*]直接参加一个比赛。比如天池,kaggle上的。可以把top的一些算法直接拿下来跑跑。遇到不懂的直接查。这样弄一轮下来,对调包,和大概某个类型的任务就会有一定印象。知道自己哪些不知道。
[*]从头过一遍整个基础知识体系。比如李航的统计机器学习,把里面所有算法手推一遍。这样对机器学习需要解决的一些大问题和对应的基本算法会有了解。最多一个月应该可以手推完毕。
[*]这时候就可以想想是往哪方面继续学习。比如可以学习一些深度学习的东西,
Dive into Deep Learning;或者继续传统的ML的学习,比如过一遍西瓜书(
机器学习)。
4. 接下来可以进一步理解。每天看看
PRML,每天都看一部分,保持一个习惯。也可以按照Bayesian的思路来进一步理解:
Machine Learning: A Bayesian and Optimization Perspective, 2nd Edition。(上过Sergios老爷子的课,希腊口音太重,他强调的就是要知道Why)
5. 这时候假设你的数学基础不够用的话,那需要更新了。(数学大佬请忽略)Gilbert在MIT的线性代数就不用说了吧,不能再基础了。然后就是
Convex Optimization - Boyd and Vandenberghe,
Matrix Analysis,得学学。(其实都是我修的课,别的也不知道了)

--- 2022.06.20 来更新一下~
6. 开始发现理论知识不够了。。。随着研究的深度逐渐增加,数学基础的薄弱显现了出来。比如基础的泛函分析,基础的测度论,拓扑学,深感还是需要至少了解的程度才能继续深入做研究。于是乎又是开始了一轮新的学习。看这些方面的书的话基本就是经典那几本了.
页: [1]
查看完整版本: 如何入门机器学习?有哪些值得分享的学习心得?