机器学习 Machine learning(上)
今天开一个新的学习旅程,讲机器学习和学习机器学习!
1 机器学习的类型
分类和回归树 Classifaication and regression tree (CART)
广义自助模型 Generalized bossting models (GBM)
人工神经网络 Artificial neural networks(ANN)
规则集生成的遗传算法 Genetic algorithm for rule set production (GARP)
最大熵法 Maximum entropy method (Maxent)
支持向量机 Support vector machine (SVM)
随机森林 Random forest
2 分类树/回归树(CART)
可以通过基于属性值测试将源集划分为子集来构建树。这个过程以一种称为递归分区的递归方式在每个派生子集上重复。当一个节点上的子集具有所有相同的目标变量值时,或者当分裂不再增加预测值时,递归就完成了。

数据是R自带的iris,鸢尾花卉数据集(iris),是一类多重变量分析的数据集。数据集包含150个数据样本,分为3类,每类50个数据,每个数据包含4个属性。可通过花萼长度,花萼宽度,花瓣长度,花瓣宽度4个属性预测鸢尾花卉属于(Setosa,Versicolour,Virginica)三个种类中的哪一类,格式如下:
代码:
画的分类树如下:

根据花萼长度,花萼宽度,花瓣长度,花瓣宽度4个属性预测鸢尾花卉属于(Setosa,Versicolour,Virginica)的概率如下:

这里用的数据集是mtcars,前几期讲过这个数据集的结构。画的回归树如下:

根据车的cyl + disp + hp +drat + wt + qsec这几个参数,预测mpg如下:

3 广义自助模型(BRT)
Boosting是一种以贪婪方式迭代添加基函数的过程,以便每个额外的基函数进一步减少所选损失函数。例如,梯度增强(Gradient Boosting)是一种用于回归问题的机器学习技术,它以弱预测模型(通常是决策树)集成的形式生成预测模型。它像其他增强方法一样以分段方式构建模型,并通过允许优化任意可微损失函数来推广它们。这里数据我们自己构建一个数据集,数据结构如下:我们想要用X1+X2+X3+X4+X5预测Y。

代码:
看出预测结果呈线性模型,预测结果还是不错的!
4 人工神经网络(ANN)
神经网络由一组相互连接的人工神经元组成,它使用连接主义方法来处理信息。在大多数情况下,人工神经网络是一种自适应系统,它在学习阶段根据流经网络的外部或内部信息改变其结构。现代神经网络是非线性统计数据建模工具。它们通常用于对输入和输出之间的复杂关系进行建模,或在数据中查找模式。

神经网络预测的结果:预测的结果相当准确(我们数据是平方关系)。

这一期就分享了机器学习算法中的分类/回归树,广义自助模型和人工神经网络的基本定义和在R语言中的实现。下一期分享规则集生成的遗传算法等内容。
学习永无止境,与君共勉!
参考文献:
Friedman, J., T. Hastie, and R. Tibshirani. 2000. Additive logistic regression: A statistical view of boosting. Annals of Statistics 28:337-374.
Friedman, J. H. 2001. Greedy function approximation: A gradient boosting machine. Annals of Statistics 29:1189-1232.
Ripley, B. D. 1996. Pattern Recognition and Neural Networks. Cambridge.