8

跟着吴恩达老师学习机器学习,Python笔记分享!

 3 years ago
source link: https://www.leiphone.com/news/202012/x2ShVEvncHSwlhRz.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

译者:AI研习社( 成语风

双语原文链接: A Full-Length Machine Learning Course in Python for Free

吴恩达在斯坦福大学讲授的机器学习课程堪称Coursera上最具人气的课程。我之前试听了好几门别的机器学习课程但我觉得他的在拆解概念使之变得易于理解方面做得最好。

但是我想说这里有一个问题,那就是这门课程的所有作业和演示都是用Matlab做的。我是一个 Python 使用者而且我不想学Matlab.因此我只在课上学习概念然后自己用Python实现这些 算法

我用自己的方式解释所有的算法(以我能做到的最简洁的水平)然后演示之前几篇文章的几乎所有算法开发过程。我觉得我可以把它们全部总结到一页纸的篇幅,这样可以让学的人更容易跟上一点。有时这点点帮助会起很大的作用。

如果你想要听吴恩达的机器学习课程,你是可以免费旁听完整课程想多少次就多少次的。

我们开始吧!

线性回归

最简单的机器学习 算法 。此算法是基于一个高中讲的很基本的直线公式:

Y = AX + B

没忘吧?忘了也无所谓。这是一个很简单的公式。这是解释为什么这个简单公式可以被用来做预测的完整文章。

纯手撸python线性回归算法:逐步版

上面这篇文章只在单个变量的数据集上有用。但是在现实生活中绝大多数数据集有多个变量。使用同一个简单公式你可以开发出多变量的算法。

python多元线性回归算法逐步演示

多项式回归

这个是线性回归的姊妹。但是多项式回归能够更精准地找出输入变量和输出变量之间的关系,甚至是在这个关系不是线性的时候、

手撸python多项式回归

对数回归(罗吉斯回归)

对数回归是在线性回归基础上开发的。他也用到了同一个简单的直线方程。这就是一个广泛使用的、强大的、流行的机器学习 算法 了。这可以用来预测分类变量。以下文章逐步解释了对数回归用于二分类问题的开发过程。

完整手撸python对数回归算法:逐步版

基于二分类的概念,我们就可以开发出用于多分类任务的对数回归。同时, Python 有一些优化函数可以让你快速完成计算。在下文中我从这两个思路出发完成了一个数字识别数据集的多分类任务。

手撸python多分类算法项目实战:逐步版

神经网络

神经网络如今变得越来越流行。你都读到这篇文章了,我猜你肯定听说过它。

一个神经网络在更复杂的数据集上解决的快得多。这也涉及了同一个直线方程但是这个 算法 的开发要比前几个要复杂的多。如果你听了吴恩达的课,你应该已经了解了这些概念。不然,我会尽量细地拆解这个概念。希望能帮到你:

完整手撕python神经网络算法

学习曲线

如果你把全部的时间了开发 算法 上但是它却不按你设想的那样去解决问题怎么办。你该怎么修好它?首先你需要找到问题出在哪里。是算法有错,还是数据不足以训练模型还是你需要更多特征?看起来问题好多哦是不是?但如果你不首先解决问题在哪,然后朝着正确的方向前进,你将会浪费无数时间。以下是如何找出问题的帮助:

如果你的ML算法表现不佳

另一方面如果数据集偏斜太厉害,那又是另一个挑战。比如你试图解决一个分类问题,95%是阳性结果只有5%是阴性结果。这么一搞你就算是瞎猜所有的预测是阳性你也有95%的准确率。另一方面,如果这个ML算法看起来有90%准确率那可真是够低效的吧?连瞎猜都比它准。下文就是几个处理这种问题的点子:

精确率,召回率,F度量概念全解

K均值聚类

最老牌的流行无监督学习 算法 。这个算法不想前面几个一样做出预测。他只是基于数据内部的相似性进行归类。这更像是试图更有效地理解当前的数据。然后当算法收到新数据的时候,基于它的特性,它会决定这个新数据被归类到哪一个簇。本算法还有别的重要应用。他可以用来给图片降维。

为啥我们要给图片降维?

你想啊,当我们需要输入大量图片进入算法来训练一个图片分类模型的时候。超高分辨率的图片会输入沉重的负担并且拖慢整个训练过程(认出这是什么图哪需要这么高分辨率!)。这种情况下一个维度更低的图片就可以让我们更快处理完。这只是举一个例子。你或许可以想见很多同样原因的别的用途。

下文是一个开发K均值聚类算法的完整教程,以及如何使用这个算法来给图片降维。

完整手撕python K均值聚类算法

异常检测

这又是一个机器学习核心任务。用于信用卡欺诈检测,制造缺陷品检测,甚至是癌细胞检测。用高斯分布(正态分布)办法或者简单到一个概率公式就可以搞定。下文是一个完整的逐步指导文章:用高斯分布的概念来开发异常检测 算法

完整手撕python异常检测算法:逐步指导

如果你需要小小复习一下高斯分布法,看这篇文:

单元和多元高斯分布:清晰理解带图示

推荐系统

推荐系统无处不在。如果你在1688买了什么东西,它就会给你推荐一些你可能会喜欢的别的产品。B站也会给你推荐你可能会喜欢的视频,QQ会给你推荐你可能认识的人。你看是不是到处都有。

吴恩达的课程教你如何用那在线性回归里面用的同一个直线方程开发一个推荐系统。这就是逐步演示怎么开发一个电影推荐系统的 算法

完整手撕python推荐系统:逐步版

结语

希望这些文章能帮到一些人机器学习起步,最好的学习办法是跟着做,绝大多数 算法 都是基于一个非常简单的公式。我看到有人讲机器学习或者人工智能需要很重度的编程知识或者困难的数学,这倒未必。用简单的代码,基础数学和统计学知识你就可以做到很多事了。同时不停地提高你的编程水平从而胜任更复杂的任务。

如果你对机器学习感兴趣就花一点时间,在这上面花点功夫。

AI研习社是AI学术青年和AI开发者技术交流的在线社区。我们与高校、学术机构和产业界合作,通过提供学习、实战和求职服务,为AI学术青年和开发者的交流互助和职业发展打造一站式平台,致力成为中国最大的科技创新人才聚集地。

如果,你也是位热爱分享的AI爱好者。欢迎与译站一起,学习新知,分享成长。

qIbEb2B.png!mobile

雷锋网版权文章,未经授权禁止转载。详情见 转载须知

YBNBbyV.png!mobile


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK