过拟合

过拟合是指学习时选择的模型所包含的参数过多,以至于出现这一对已知数据预测得很好,但对位置数据预测得含茶的现象。 即对训练数据预测得好,对测试数据预测得差的现象。
过拟合出现的情况:
1:样本容量很小时,
2:选择的模型所包含的参数过多。

两种常用的模型选择方法:正则化、交叉验证。
正则化是模型结构风险最小化策略的实现。
正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化值就越大。
正则化的作用是选择经验风险与模型复杂度同时较小的模型。

交叉验证:

给定的样本数据充足时,将样本分成三部分:训练集、验证集、测试集。
训练集用于训练模型,验证集用于模型的选择,测试机用于 最终对学习方法的评估。但是在实际应用中数据是不充足的,为了选择好的模型,可以采用交叉验证的方法。


决策树:

决策树的学习通常包括三个步骤:特征选择、决策树的生成、决策树的修剪。
ID3算法、C4.5、CART算法。
其中,ID3算法:用信息增益来选择特征;只有树的生成,容易产生过拟合。
C4.5对ID3算法进行了改进,在生成的过程中国,用信息增益比来选择特征。

特征选择:选取对训练数据具有分类能力的特征。目的:提高决策树学习的效率。
通常的特征选择的准则是信息增益或信息增益比。
信息增益:

熵(entropy)

是表示随机变量不确定性的度量。
设随机变量X是一个取有限个值的离散随机变量,其概率分布为:

P(X=xi)=piP(X=xi)=piP(X=x_i)=p_i,i=1,2,...,ni=1,2,...,ni=1,2,...,n

则随机变量X的熵的定义为:

H(X)=−∑i=1npilogpiH(X)=−∑i=1npilog⁡piH(X)=- \sum\limits_{{\rm{i = }}1}^n {{p_i}\log {p_i}}

式中对数以2为底或以e为底,这时熵的单位分别称作比特(bit) 或者纳特(nat).
有定义可知,熵只依赖于X的分布,而与X的取值无关,所以也可以将X的熵记作H(p)H(p)H(p),即:

H(p)=−∑i=1npilogpiH(p)=−∑i=1npilog⁡piH(p)=- \sum\limits_{{\rm{i = }}1}^n {{p_i}\log {p_i}}

熵越大,随机变量的不确定性就越大。从定义可以验证:

0≤H(p)≤logn0≤H(p)≤log⁡n0 \le H(p) \le \log n

当随机变量只取两个值,例如1,0时,X的分布为:

P(X=1)=pP(X=1)=pP(X=1)=p, P(X=0)=1−pP(X=0)=1−p\;\;\;\;\;P(X=0)=1-p, 0≤p≤10≤p≤1\;\;\;\;\;0 \le p\le 1

熵为:

H(p)=−plog2p−(1−p)log2(1−p)H(p)=−plog2p−(1−p)log2(1−p)H(p)=-plog_2p-(1-p)log_2(1-p)

这时,熵H(p)H(p)H(p)随概率p的变化曲线如图(单位为bit):

当p=0p=0p=0或p=1p=1p=1时,随机变量完全没有不确定性。
当p=0.5p=0.5p=0.5时,H(p)=1H(p)=1H(p)=1,熵取值最大,随机变量不确定性最大。

信息增益:

特征A对训练数据集D的信息增益g(D,A)g(D,A)g(D,A),定义为集合D的经验熵H(D)H(D)H(D)与特征A给定条件下D的经验条件熵H(D/A)H(D/A)H(D/A)值差。即:

g(D,A)=H(D)−H(D/A)g(D,A)=H(D)−H(D/A)g(D,A)=H(D)-H(D/A)


信息增益的算法:

输入:训练数据集D和特征A;
输出:特征A对训练数据集D的信息增益g(D,A)g(D,A)g(D,A)
(1) 计算数据集D的经验熵H(D)H(D)H(D)

H(D)=−∑k=1K|Ck||D|log2|Ck||D|H(D)=−∑k=1K|Ck||D|log2|Ck||D|H({\rm{D}}) = - \sum\limits_{k = 1}^K {\frac{{\left| {C{}_k} \right|}}{{\left| D \right|}}} {\log _2}\frac{{\left| {C{}_k} \right|}}{{\left| D \right|}}

(2)计算特征A对数据集D的经验条件熵H(D/A)H(D/A)H(D/A)

H(D/A)=∑i=1n|Di||D|H(Di)=−∑i=1n|Di||D|∑k=1K|Dik||Di|log2|Dik||Di|H(D/A)=∑i=1n|Di||D|H(Di)=−∑i=1n|Di||D|∑k=1K|Dik||Di|log2|Dik||Di|H({\rm{D/A}}) = \sum\limits_{i = 1}^n {\frac{{\left| {D{}_i} \right|}}{{\left| D \right|}}} H({D_i}) = - \sum\limits_{i = 1}^n {\frac{{\left| {D{}_i} \right|}}{{\left| D \right|}}\sum\limits_{k = 1}^K {\frac{{\left| {D{}_{ik}} \right|}}{{\left| {{D_i}} \right|}}} {{\log }_2}\frac{{\left| {D{}_{ik}} \right|}}{{\left| {{D_i}} \right|}}}

(3)计算信息增益:

g(D,A)=H(D)−H(D/A)g(D,A)=H(D)−H(D/A)g(D,A)=H(D)-H(D/A)

ID3算法:用信息增益来选择特征;只有树的生成,容易产生过拟合。

信息增益比

(信息增益比定义)特征A对训练数据集D的信息增益比gR(D,A)gR(D,A)g_R(D,A)定义为其信息增益g(D,A)g(D,A)g(D,A)与训练数据集D关于特征A的值得熵HA(D)HA(D)H_A(D)之比,即

gR(D,A)=g(D,A)HA(D)gR(D,A)=g(D,A)HA(D){g_R}(D,A) = \frac{{g(D,A)}}{{{H_A}(D)}}
其中,HA(D)=−∑i=1n|Ci||D|log2|Ci||D|HA(D)=−∑i=1n|Ci||D|log2|Ci||D|H_A({\rm{D}}) = - \sum\limits_{i = 1}^n {\frac{{\left| {C{}_i} \right|}}{{\left| D \right|}}} {\log _2}\frac{{\left| {C{}_i} \right|}}{{\left| D \right|}}

C4.5对ID3算法进行了改进,在生成的过程中,用信息增益比来选择特征。


决策树的剪枝(pruning)

决策树的修剪:自下而上地进行剪枝,将树变得简单,从而使它具有更好的泛化能力。——解决过拟合问题。
决策树的剪枝一般通过极小化决策树整体的损失函数(loss function)/代价函数(cost function)来实现。
设树T的结点个数为|T||T||T|, ttt是树T的结点,该叶结点有Nt" role="presentation">NtNtN_t个样本点,其中kkk类的样本点有Nik" role="presentation">NikNikN_{ik}个,k=1,2,...,Kk=1,2,...,Kk=1,2,...,K, Ht(T)Ht(T)H_t(T)为叶结点ttt上的经验熵,α≥0" role="presentation">α≥0α≥0\alpha \ge0为参数,则决策树学习的损失函数可以定义为:

Cα(T)=∑i=1|T|NtHt(T)+α|T|Cα(T)=∑i=1|T|NtHt(T)+α|T|{{\rm{C}}_\alpha }(T) = \sum\limits_{i = 1}^{|T|} {{N_t}{H_t}(T) + \alpha |T|} (1)

其中经验熵为:

Ht(T)=−∑kNikNtlogNikNtHt(T)=−∑kNikNtlog⁡NikNt{H_t}(T) = - \sum\limits_k {\frac{{{N_{ik}}}}{{{N_t}}}} \log \frac{{{N_{ik}}}}{{N{}_t}} (2)

在损失函数中,将(1)式右端的第一项记作:

C(T)=∑i=1|T|NtHt(T)=−∑i=1|T|∑k=1KNiklogNikNtC(T)=∑i=1|T|NtHt(T)=−∑i=1|T|∑k=1KNiklog⁡NikNt{\rm{C}}(T) = \sum\limits_{i = 1}^{|T|} {{N_t}{H_t}(T) = } - \sum\limits_{i = 1}^{|T|} {\sum\limits_{k = 1}^K {{N_{ik}}\log \frac{{{N_{ik}}}}{{N{}_t}}} }

这时有:

Cα(T)=C(T)+α|T|Cα(T)=C(T)+α|T|{{\rm{C}}_\alpha }(T) = {\rm{C}}(T) + \alpha |T| (3)

式(3)中,C(T)C(T)C(T)表示模型对训练数据的预测误差,即模型与训练数据的拟合程度,|T||T||T|表示模型复杂度,参数α≥0α≥0\alpha \ge0控制两者之间的影响,较大的αα\alpha促使选择较简单的模型(树),较小的αα\alpha促使选择较复杂的模型。α=0α=0\alpha=0意味着只考虑模型与训练数据的拟合程度,不考虑模型的复杂度。

CART算法

分类树与回归树(classification and regression tree,CART)模型由Beriman等人在1984年提出,是应用广泛的决策树学习方法。CART由特征选择、树的生成、剪枝组成。既可以用于分类也可以用于回归。
CART算法:决策树生成+剪枝。
对回归树用平方误差最小化准则,对分类树用基尼指数(Geni index)最小化准则,进行特征选择,生成二叉树。

机器学习-关键词:正则化、过拟合、决策树相关推荐

  1. 一文解决机器学习中的过拟合与欠拟合问题(正则化,数据增强,Dropout)

    一文解决机器学习中的过拟合与欠拟合问题(正则化,数据增强,Dropout,提前终止) 生活中的过拟合与欠拟合现象 过拟合与欠拟合的概念 解决过拟合与欠拟合问题的四大金刚 正则化 数据增强 Dropou ...

  2. 机器学习实战(三)——决策树

    出处:https://blog.csdn.net/jiaoyangwm/article/details/79525237 决策树 3.1 决策树的构造 3.1.1 信息增益 3.1.2 编写代码计算经 ...

  3. 机器学习实战(6)——决策树

    目录 1 决策树训练和可视化 2 做出预测 3 估算类别概率 4 CART训练算法 5 正则化超参数 6 回归 7 不稳定性 1 决策树训练和可视化 下面简单看一下例子: 常规模块的导入以及图像可视化 ...

  4. 机器学习面试准备之三、决策树与随机森林

    机器学习面试准备之三.决策树与随机森林 一.决策树阐述 决策树是一种基本的分类与回归方法,学习通常包含三个步骤:特征选择.决策树的生成和决策树的剪枝. 决策树由结点和有向边组成,结点包括内部结点和叶节 ...

  5. 【机器学习实战】3、决策树

    文章目录 决策树 3.1 决策树的构造 3.1.1 信息增益 3.1.2 编写代码计算经验熵 3.1.4利用代码计算信息增益 3.2 决策树的生成和修剪 3.2.1 决策树的构建 1. ID3算法 2 ...

  6. 机器学习基础概念——过拟合和欠拟合

    欢迎关注,敬请点赞! 机器学习基础概念--过拟合和欠拟合 1. 基本概念 1.1 偏差和方差 2. 欠拟合和过拟合 2.1 学习曲线 2.2 复杂程度曲线 2.3 支持向量机的过拟合和欠拟合 2.4 ...

  7. Python机器学习(二):决策树(Decision Tree-DTs)

    Python机器学习(二):决策树(Decision Tree-DTs) 目录: Python机器学习(二):决策树(Decision Tree-DTs) 一.什么是决策树 1.基本概念 2.决策树算 ...

  8. AI:机器学习的正则化 (Regularization)

    目录 机器学习:正则化 (Regularization) 正则化的方法 1.参数正则化 1.0 范数 1.1 L2 Regularization(Ridge Regression,权重衰减) 1.2 ...

  9. Python数据分析与机器学习实战<八>决策树、随机森林

    目录 决策树原理概述 树模型 决策树 树的组成 决策树的训练和测试 选择节点(即如何进行特征划分?) 衡量标准---熵 公式: Pi为取到某个类别的概率​ 熵的图像 如何决策一个节点的选择? 决策树构 ...

  10. 机器学习中正则化项L1和L2的直观理解

    文章目录 正则化(Regularization) 稀疏模型与特征选择的关系 L1和L2正则化的直观理解 正则化和特征选择的关系 为什么梯度下降的等值线与正则化函数第一次交点是最优解? L2正则化和过拟 ...

最新文章

  1. 谷歌旗下DeepMind开发出编程机器人,已达人类程序员平均水平!
  2. ASP.NET2.0中的全球化与本地化UICulture,Culture
  3. 皮一皮:这是传说盖浇饭中的天花板~白粥盖浇饭...
  4. VLC搭建RTSP服务器的过程 -测试通过
  5. VS2010程序打包操作
  6. imx6 uboot lvds clock
  7. DataFormatString格式化字符串的总结
  8. Firefox(火狐浏览器)彩蛋
  9. jpa在自己创建表的是字段名不一致_用 数据透视表 完成 Excel多表合并
  10. 两台电脑怎么共享文件
  11. 如何让普通用户可以对DBA_SOURCE视图进行闪回查询?
  12. 人脸识别智能会议签到系统
  13. 网站漏洞修复方案防止SQL注入攻击漏洞
  14. web前端基础面试题
  15. 【图像融合】基于matalb四叉树的加权聚焦多聚焦图像融合【含Matlab源码 1818期】
  16. c 语言入门自学app,C语言入门学习软件
  17. 悬浮窗一个怎么够?微信新版本满足你的一心多用
  18. 计算机能力参考范文,信息技术能力论文,关于关于中学计算机教学的若干相关参考文献资料-免费论文范文...
  19. java中的 jsp是啥
  20. 八戒,别以为你站在路灯下就是夜明猪了!

热门文章

  1. php微信个性化菜单,微信公众平台开发:个性化菜单接口说明
  2. pythonsys用法_Python 使用sys模块
  3. Scrypt哈希算法简介
  4. 《编写高质量代码:改善Java程序的151条建议》读书笔记
  5. 何川L3管理课_模块1_定目标
  6. 非线性优化_曲线拟合_g2o图优化_最小二乘优化示例
  7. python_numpy_中的matrix与array的区别
  8. 自动驾驶_感知_分割_车道线检测
  9. ubuntu14.04中安装opencv2.4.11
  10. HDU-2057(16进制的输入输出)