机器学习笔记(四)模型提升

机器学习笔记(四)模型提升

1.模型提升的方法
非线性模型:
从线性模型到非线性模型
线性回归:多项式回归
支持向量机:给抵挡的核函数组合,基本属于“猜测”
决策树:空间划分的思想来处理非线性数据
深度学习:
感知机(神经网络):线性回归+简单的非线性映射
多层感知机:多层神经元的组合,多个简单非线性函数的复合
深度学习(线性组合+非线性函数映射):层数很大
模型集成:
训练多个弱模型,组合成一个“强”模型
增强模型的表达能力
降低误差
模型误差的来源:
训练集由函数f产生
假设空间H(模型空间)中理论上最好的函数为F
用训练集得到的函数为F* =argmax L(w) f∈H
逼近误差:模型空间与f的距离
估计误差:训练到的函数与模型空间最好的函数的距离
机器学习笔记(四)模型提升

2.决策树:将问题问到点子上
决策树是用二叉树形图来表示处理逻辑的一种工具。可以直观、清晰地表达加工的逻辑要求。特别适合于判断因素比较少、逻辑组合关系不复杂的情况。
决策树提供了一种展示类似在什么条件下会得到什么值这类规则的方法。比如,在贷款申请中,要对申请的风险大小做出判断,图是为了解决这个问题而建立的一棵决策树,从中我们可以看到决策树的基本组成部分:决策节点、分支和叶子。
核心问题:如何选择节点属性和属性分割点
机器学习笔记(四)模型提升
决策树中最上面的节点称为根节点,是整个决策树的开始。本例中根节点是“年龄<50”,对此问题的不同回答产生了“是”和“否”两个分支。
为一个节点选择怎样进行分割时使用“贪心”算法。此种算法在决定当前这个分割时根本不考虑此次选择会对将来的分割造成什么样的影响。换句话说,所有的分割都是顺序完成的,一个节点完成分割之后不可能以后再有机会回过头来再考察此次分割的合理性,每次分割都是依赖于他前面的分割方法,也就是说决策树中所有的分割都受根结点的第一次分割的影响,只要第一次分割有一点点不同,那么由此得到的整个决策树就会完全不同。
贪心算法思路:假设一个问题比较复杂,暂时找不到全局最优解,那么我们可以考虑把原问题拆成几个小问题(分而治之思想),分别求每个小问题的最优解,再把这些“局部最优解”叠起来,就“当作”整个问题的最优解了。
不纯度:表示落在当前节点的样本类别分布的均衡程度
通过使用 Gini指数、信息熵、误分率来计算均衡程度
决策树很擅长处理非数值型数据,这与神经网络只能处理数值型数据比起来,就免去了很多数据预处理工作。

3.随机森林:独立思考的重要性
最典型的Bagging算法:“随机”是其核心,“深林”说明它是通过组合多棵决策树来构建模型
森林顾名思义,由很多棵树组成,这一颗颗树就是我们需要构造的决策树,由这些树组成的森林就是随机森林,
当我们输入一个要预测分类的数据时,每个决策树都会接收数据并产生一个分类结果,然后采用‘投票机制’,认为哪个结果出现次数最多就归为哪一类。
主要特点:
对样本进行有放回抽样
对特征进行随机抽样

4.AdaBoost:
通过改变样本权重串行地训练多个基分类器,每个基分类器带权重样本集下进行训练,根据其在训练样本中的加权误差来确定基分类器模型的权重,后一个分类器更加关注前一个分类器分错的样本。
既然找一个强分类器不容易,那么我们干脆就不找了吧!我们可以去找多个弱分类器,这是比较容易实现的一件事情,然后再集成这些弱分类器就有可能达到强分类器的效果了,其中这里的弱分类器真的是很弱,你只需要构建一个比瞎猜的效果好一点点的分类器就可以了。一句话概括:站在前人的肩膀上前进。