学习理论、模型选择、特征选择——斯坦福CS229机器学习个人总结(四)

本文主要是介绍学习理论、模型选择、特征选择——斯坦福CS229机器学习个人总结(四),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这一份总结里的主要内容不是算法,是关于如何对偏差和方差进行权衡、如何选择模型、如何选择特征的内容,通过这些可以在实际中对问题进行更好地选择与修改模型。

1、学习理论(Learning theory)

1.1、偏差/方差(Bias/variance)

这里写图片描述
图一

对一个理想的模型来说,它不关心对训练集合的准确度,而是更关心对从未出现过的全新的测试集进行测试时的性能,即泛化能力(Generalization ability)。
有的模型用在用一个样本集训练过后,再用同一个样本集做预测,这样得到的模型的准确率非常高。但是,当用这个模型去预测新的数据的时候,效果却非常不理想。这就是泛化能力弱的表现,这样的模型非常容易过拟合。

图一最左边的图,用线性模型去拟合一个二次模型,无论该训练集中有多少样本,都会不可避免地出现较大的误差,这种情况被称为欠拟合,对应着高偏差;
图一最右边的图,用高次模型去拟合一个二次模型,虽然它能够让图中每个样本点都经过该曲线,但是对于新来的数据可能会强加上一些它们并不拥有的特性(一般是训练样本带来的),这会让模型非常的敏感,这种情况被称为过拟合,对应着高方差。

如何选择一个模型使得它在偏差与方差之间取得一个平衡,是学习理论要解决的问题。在下面“一致收敛的推论”一节中,会得到一个用来权衡偏差、方差的公式,接下来会从头开始推导这个公式。

1.2、准备知识

开始推导之前要先把一些准备知识提出来,这样从“一致收敛”中开始的推导会很顺利。

联合界引理(The union bound)

引理: A1,A2,,Ak 是k个事件,组合成k集,它们可能相互独立,也可能步相互独立,对此,我们有:

P(A1Ak)P(A1)++P(Ak)(1)

它要表达的意思是“K集事件之一发生的概率最多是K集发生的概率之和”。
比如当 P(A1Ak)=P(A1) ,它的概率最多是K集发生的概率之和。

霍夫丁不等式(Hoeffding inequality)

引理: Z1,Z2,Zm 为m个独立同分布事件,它们都服从伯努利分布,则有:

P(Zi=1)=ϕ,P(Zi=0)=1ϕ

并用 Zi 的平均值来得到一个 ϕ 的估计值 ϕ^
ϕ^=mi=1Zim(2)

接着对于任意的固定值 γ>0 ,存在:
P(ϕϕ^>γ)2exp(2γ2m)(3)

以上就是霍夫丁不等式,也称为切尔诺夫界(Chernoff bound)。
这个定理的意义在于,随着 m 的增长,右式的指数会持续下降,左式中对参数 ϕ^ 的估计会越来越接近真实值 ϕ (画个 ex 的图像就知道了)。

经验风险最小化(Empirical risk minimization)

下面以二分类问题进行说明。
给定一个训练集 S{(x(i),y(i));i=1,2,,m} (x(i),y(i)) 是服从概率分布 D 的独立同分布变量,那么对于一个假设h,我们将假设 h 训练误差(Training error)——也称为经验风险(Empirical risk)或者是经验误差(Empirical error)——定义为:

ε^=1mi=1mI{h(x(i))y(i)}(4)

它表示:在训练样本中,用假设 h 进行分类,分类失败数占总数的百分比。注意它在表示上 有带帽符号

相对应的有一般风险,也称为一般误差(Generalization error)

ε=PD(h(x)y)(5)

PD 表示 (x,y) 服从 D 分布。
式(5)表示:实际分类中,使用了假设 h 进行分类,样本不服从 D 分布的概率。它在表示上 无带帽符号

在我的理解中,训练误差是训练中产生的误差,一般误差是实际预测、分类中产生的误差。接下来的推导中它们会一直出现,可能会搞混,要一直理解到它们的意思才行。

假设模型集合为:

H={hθ:hθ(x)=I{θTx0},θRn+1}(6)

集合 H 中,每一个成员都是一个假设函数 h ,且它们都是线性分类器。

由式(4)经验风险的形式化定义,有经验风险最小化(简称ERM)为:

θ=argminθε^(hθ)(7)

它表示:选择一个参数 θ ,它所对应的假设函数 h ,使得经验风险最小。

还有另外一种ERM的等价表示方法,其ERM的定义为:

h^=argminhHε^(h)(8)

它表示:选择一个假设函数 h ,使得经验风险最小。

1.3、一致收敛(Uniform convergence)

此处的一致收敛有两个前提。一是由第二种ERM推导,二是式(6)中假设函数的数量是有限的情况下的。
一致收敛的意义是:训练误差与一般误差的差值大于某阈值的概率存在着上界。还有一点扩展就是这个上界会因样本数量的上升而急速下降。由一致收敛我们可以推导出偏差/方差权衡的方式。

首先,假设类的集合H={h1,h2,,hk<

这篇关于学习理论、模型选择、特征选择——斯坦福CS229机器学习个人总结(四)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/546021

相关文章

JavaSE正则表达式用法总结大全

《JavaSE正则表达式用法总结大全》正则表达式就是由一些特定的字符组成,代表的是一个规则,:本文主要介绍JavaSE正则表达式用法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录常用的正则表达式匹配符正则表China编程达式常用的类Pattern类Matcher类PatternSynta

SQL中JOIN操作的条件使用总结与实践

《SQL中JOIN操作的条件使用总结与实践》在SQL查询中,JOIN操作是多表关联的核心工具,本文将从原理,场景和最佳实践三个方面总结JOIN条件的使用规则,希望可以帮助开发者精准控制查询逻辑... 目录一、ON与WHERE的本质区别二、场景化条件使用规则三、最佳实践建议1.优先使用ON条件2.WHERE用

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Nginx Location映射规则总结归纳与最佳实践

《NginxLocation映射规则总结归纳与最佳实践》Nginx的location指令是配置请求路由的核心机制,其匹配规则直接影响请求的处理流程,下面给大家介绍NginxLocation映射规则... 目录一、Location匹配规则与优先级1. 匹配模式2. 优先级顺序3. 匹配示例二、Proxy_pa

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

MySQL基本查询示例总结

《MySQL基本查询示例总结》:本文主要介绍MySQL基本查询示例总结,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Create插入替换Retrieve(读取)select(确定列)where条件(确定行)null查询order by语句li

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

Linux区分SSD和机械硬盘的方法总结

《Linux区分SSD和机械硬盘的方法总结》在Linux系统管理中,了解存储设备的类型和特性是至关重要的,不同的存储介质(如固态硬盘SSD和机械硬盘HDD)在性能、可靠性和适用场景上有着显著差异,本文... 目录一、lsblk 命令简介基本用法二、识别磁盘类型的关键参数:ROTA查询 ROTA 参数ROTA