第1章 欢迎来到 Python3 玩转机器学习
欢迎大家来到《Python3玩转机器学习》的课堂。在这个课程中,我们将从0开始,一点一点进入机器学习的世界。本门课程对机器学习领域的学习,绝不不仅仅只是对算法的学习,还包括诸如算法的评价,方法的选择,模型的优化,参数的调整,数据的整理,等等一系列工作。准备好了吗?现在开始我们的机器学习之旅!...
第2章 机器学习基础
机器学习到底是什么鬼?这一章将带领大家深入理解机器学习的世界,让大家去熟悉那些看似陌生的专业术语。监督学习,非监督学习,半监督学习,增强学习,批量学习,在线学习,参数学习,非参数学习。看完这一章,这些概念你就统统了解啦。不仅如此,本章还包含相当深刻地和机器学习相关的哲学探讨,让你深入思索有关机器学习...
第3章 Jupyter Notebook, numpy和matplotlib
工欲善其事,必先利其器。在本章,我们将学习和机器学习相关的基础工具的使用:Jupyter Notebook, numpy和matplotlib。大多数教程在讲解机器学习的时候,大量使用这些工具,却不对这些工具进行系统讲解。我特意添加了这个章节,让同学们在后续编写机器学习算法的过程中,更加得心应手!...
第4章 最基础的分类算法-k近邻算法 kNN
k近邻算法本身是一个思想非常简单的算法,但是这个简单算法背后,也蕴含着丰富的内容。在这一章,我们将详细介绍k近邻算法的原理,进而对训练数据集,测试数据集,分类准确度,超参数,数据归一化,样本距离等基础概念进行详细的探讨。我们将详细了解scikit-learn框架中对算法的封装,并实现我们自己的算法框架。我们还将学...
第5章 线性回归法
线性回归法是机器学习领域的经典算法,很多更复杂的算法都是以线性回归为基础的。在这一章,我们将深入学习线性回归法背后的原理,同时仔细探讨如何评价回归算法。大家将对MSE,RMSE,MAE和R Squared等回归问题的评价指标有充分的理解。在实现层面上,我们还将学习机器学习领域的一个重要的实现技巧:向量化。...
第6章 梯度下降法
梯度下降法是在机器学习领域的一个重要的搜索策略。在这一章,我们将详细讲解梯度下降法的基本原理,一步一步改进梯度下降算法,让大家理解梯度下降法中各种参数,尤其是学习率的意义。同时,我们还将引申出随机梯度下降法和小批量梯度下降法两个方法,让大家对梯度下降法家族有一个全方位的认识。...
第7章 PCA与梯度上升法
通常教材会使用非常多的数学概念来讲解PCA,在这个课程中,我们将另辟蹊径,绕开繁重的数学概念,使用梯度下降法的姊妹方法:梯度上升法来求解PCA问题,进而深刻理解PCA的基本原理,如何使用PCA进行数据的降维。我们还将给出多个PCA的应用场景,不仅让大家亲手实践出PCA降维的巨大威力,也让大家看到PCA在降噪,人脸识别等...
第8章 多项式回归与模型泛化
在这一章,我们将接触非线性问题。我们将学习多项式回归的思想,使用线性回归的思路来解决非线性问题。进一步,我们将引申出或许是机器学习领域最重要的一个问题:模型泛化问题。我们将深入探讨什么是欠拟合,什么是过拟合,怎样检测欠拟合和过拟合。什么是交叉验证,什么是模型正则化。听起来拗口的Ridge和Lasso都是什么鬼...
第9章 逻辑回归
据统计,逻辑回归是机器学习领域最常用的分类算法,没有之一!在这一章,我们将逐渐揭开逻辑回归的神秘面纱,了解如何应用线性回归的思路,来解决分类问题。我们将综合之前所学习的很多内容,一点一点来完善我们的逻辑回归模型。我们还将继续深入分类问题,学习对分类结果概率的估计,以及决策边界等重要概念。 ...
第10章 评价分类结果
对机器学习分类算法结果的评估,是一个公认的复杂问题。在这一章,我们将来阐述这个问题为什么复杂。我们如何更好地看待我们的机器学习算法给出的结果。学习诸如混淆矩阵,准确率,精确率,召回率,F1,以及ROC等诸多评价分类结果的指标。通过这一章的学习,大家将更好地理解自己的机器学习算法给出的结果,从而在实际应用...
第11章 支撑向量机 SVM
在这一章,我们将深入学习大名鼎鼎的支撑向量机SVM。我们将从线性SVM开始,理解SVM的思路,进而深入理解SVM解决非线性问题的方式——核函数。我们将重点学习两个最重要的核函数:多项式核和径向基函数核。我们更会使用真实的数据集实验,看到SVM的优缺点。最后,我们还将探讨使用SVM解决回归问题的思路。 ...
第12章 决策树
在这一章,我们将学习另外一个大名鼎鼎的机器学习算法:决策树。决策树本身非常简单,背后并没有复杂的数学模型,但使用好决策树也有很多技巧。我们将深入了解什么是熵模型,什么是基尼系数,怎样使用决策树解决分类问题,怎样获得分类的概率,怎样用决策树解决回归问题,以及使用决策树的注意事项。 ...
第13章 集成学习和随机森林
集成学习的思想是机器学习领域解决问题的一种重要思想。我们将从集成之前已经学习过的算法出发,进而引入集成学习的经典算法:随机森林。我们将看到集成学习的威力。在这一章,我们还会对其他集成学习的思想,如AdaBoost, Gradient Boosting, Stacking等算法进行介绍。 ...
第14章 更多机器学习算法
相信通过这个课程的学习。同学们学到的不仅仅是一个一个零散的机器学习算法,更对机器学领域解决问题的方式有了一个系统性的认识。学会了这种思维方法,相信大家都可以更好地继续深入学习机器学习。在最后,我将给大家介绍scikit-learn的文档,希望大家能够借助scikit-learn这个强大的机器学习库,继续探索机器学习这个当下...