机器学习实战-简要笔记2

        学习了一段时间的《机器学习实践》,有所收获,简要总结如下,不甚完善,多多指教。

        书中的源码是是基于python2编写的,我手动敲了一遍,每行加了注释,在python3.4.4中调试通过,github链接:https://github.com/ldgang0530/MLA

 机器学习实战-简要笔记2_第1张图片

机器学习实战-简要笔记2_第2张图片

本章提到了几种缺失数据的处理方法:

1,使用可用特征的均值来填补缺失值

2,使用特殊值来填补缺失值

3,忽略有缺失值的样本

4,使用相似样本的均值填补缺失值

5,使用另外的机器学习算法预测缺失值

 

Logistic回归优缺点:

优点:计算代价不高,易于理解和实现。

缺点:容易欠拟合,分类精度可能不高。

适用数据类型:数值型和标称型数据。

 

示例:从疝气病预测马的死亡率

 

 

第6章 支持向量机SVM

       SVM,Support Vector Machines。支持向量机就是找到一个分隔超平面,对数据分类。所谓的支持向量就是离分隔超平面最近的那些点。接下来要试着最大化支持向量到分隔面的距离,需要找到此问题的优化求解方法。

       在SVM的推导过程中,涉及到了拉格朗日乘法、KKT条件、SMO算法、核函数、松弛变量等等。在此推荐两个博客:

JULY博客:http://blog.csdn.net/v_july_v/article/details/7624837,《支持向量机通俗导论(理解SVM的三层境界)》内有对SVM的较为详细的推导和解释。

关于SMO算法:http://www.cnblogs.com/jerrylead/archive/2011/03/18/1988419.html

 

支持向量机优缺点:

优点:泛化错误率低,计算开销不大,结果易解释

缺点:对参数调节和核函数的选择敏感,原始分类器不加修改仅适用于处理二类问题

适用数据类型:数值型和标称型数据

 

示例:手写识别问题回顾

 

 

第7章 使用AdaBoost元算法提高分类性能

       所谓元算法,是对其他算法进行组合的一种方式。

基于数据集多重抽样的分类器

       Bagging自举汇聚法,从原始数据集随机选择S次后得到S个新数据集的一种技术,新数据集和原数据集的大小相等,这样同一个样本就肯能会多次重复在新数据集中。然后,使用学习方法对每个数据集得到S个分类器,然后对未知数据进行分类,结果中最多的类别作为最后的分类结果。

       Boosting,与bagging技术类似,不同的是不同分类器是通过串行训练而获得的,每个新分类器都根据已训练出的分类器的性能来进行训练。Boosting是通过集中关注被已有分类器错分的那些数据来获得新的分类器。Adaboost是流行的一种boosting方法。

机器学习实战-简要笔记2_第3张图片

AdaBoost优缺点:

优点:泛化错误率低,易编码,可以应用在大部分分类器上,无参数调整

缺点:对离群点较敏感

适用数据类型:数值型和标称型数据

 

       多个分类器可能会进一步凸显单分类器的不足,比如过拟合问题。

 

第8章 利用回归预测数值型数据

1,线性回归

所谓线性回归是指将输入项分别乘以一些常量,再讲结果相加得到输出。


线性回归优缺点:

优点:结果易于理解,计算上不复杂

缺点:对非线性的数据拟合不好

适用数据类型:数值型和标称型数据

 

2,局部加权线性回归

       线性回归的一个问题是有可能出现欠拟合,因为它求的是具有最小均方误差的无偏估计。

机器学习实战-简要笔记2_第4张图片

机器学习实战-简要笔记2_第5张图片


示例:预测乐高玩具套装的价格


你可能感兴趣的:(AI)