《统计学习方法》第1章习题

程劼 程劼     2022-12-01     331

关键词:

习题1.1

统计学习方法的三要素为:模型、策略、算法。

模型即需要用函数 \\(Y=f_\\theta(X)\\) 或者条件概率分布 \\(P_\\theta(Y|X)\\) 表示。

策略即寻找合适的损失函数,表示预测值与真实值之间的误差,进而构建风险函数。风险函数就是最优化的目标函数。

算法即学习模型时需要选择的最优化算法。

题目要求说明伯努利模型的极大似然估计及贝叶斯估计的统计学习方法三要素进行说明,下文通过极大似然估计与贝叶斯估计的基本流程框架进行解答。

极大似然估计的基本流程

(1)首先需要写出概率分布(离散或连续)

(2)通过一组观测值,写出这组观测值的联合概率分布

(3)基于(1)和(2)写出似然函数

(4)寻找合适的算法找出似然函数的极大似然估计值

伯努利模型的极大似然估计

由题,假设需要估计的参数结果为1的概率为 \\(\\theta\\) ,则 $P(X=1|\\theta) =\\theta $ , $P(X=0|\\theta) =1-\\theta $

由于有 \\(n\\) 个观测值 \\(\\x^(1), x^(2), ... , x^(n)\\\\) ,且 \\(x^(i)\\) 取1还是取0是独立的。

由此,可得 \\(P(x^(1), x^(2), ... , x^(n)|\\theta) = \\prod P(x^(i)|\\theta)\\)

因此,似然函数为 \\(L(\\theta) = P(x^(1), x^(2), ... , x^(n)|\\theta) = \\prod P(x^(i)|\\theta) = \\theta^k * (1-\\theta)^n-k\\)

要估计的参数 \\(\\hat\\theta = \\mathop\\arg\\max\\limits_\\theta L(\\theta)=\\mathop\\arg\\max\\limits_\\theta log (L(\\theta))\\)

其中 \\(log (L(\\theta)) = k*log(\\theta) + (n-k) * log(1-\\theta)\\)

使用求偏导的算法求解极大似然估计值 ,令\\(\\frac\\partial log L(\\theta)\\partial \\theta = \\frack\\theta - \\fracn-k1-\\theta = 0\\)

解得, \\(\\hat\\theta = \\frackn\\)

这也是伯努利模型的极大似然估计的参数结果

贝叶斯估计的基本流程

(1)与极大似然估计(认为参数是一个固定的常数)不同的是,参数也服从一个概率分布

(2)假设参数服从的概率分布,即先验概率

(3)推导出似然函数

(4)根据贝叶斯公式,通过先验概率和似然函数计算后验概率

伯努利模型的贝叶斯估计

首先,需要假设参数\\(\\theta\\) 服从一定的概率分布,而我们要找到这样的先验分布

由于似然函数的形式为 \\(\\theta^k * (1-\\theta)^n-k\\) ,且 \\(后验 \\propto 似然 * 先验\\) ,贝塔分布可以很好的作为伯努利模型的先验分布

事实上,贝塔分布是伯努利分布和二项分布的共轭先验,在机器学习中也应用广泛

贝塔分布

定义在 \\((0, 1)\\) 区间的连续概率分布, 有两个参数 \\(\\alpha , \\beta >0\\) ,记为 \\(Be(\\alpha, \\beta)\\)

\\[Be(\\theta|\\alpha,\\beta) = \\frac\\Gamma(\\alpha+\\beta)\\Gamma(\\alpha)\\Gamma(\\beta)\\theta^\\alpha-1(1-\\theta)^\\beta-1 \\]

假设\\(\\theta\\) 服从 \\(Be(\\alpha, \\beta)\\) , 则\\(P(\\theta) = \\frac\\Gamma(\\alpha+\\beta)\\Gamma(\\alpha)\\Gamma(\\beta)\\theta^\\alpha-1(1-\\theta)^\\beta-1\\)

似然函数仍为\\(L(\\theta) = P(x^(1), x^(2), ... , x^(n)|\\theta) = \\prod P(x^(i)|\\theta) = \\theta^k * (1-\\theta)^n-k\\)

根据贝叶斯公式,\\(P(\\theta|x^(1), x^(2), ... , x^(n)) = \\fracP(x^(1), x^(2), ... , x^(n)|\\theta)P(\\theta)P(x^(1), x^(2), ... , x^(n)\\propto P(x^(1), x^(2), ... , x^(n)|\\theta)P(\\theta)\\)

所以,\\(\\hat\\theta = \\mathop\\arg\\max\\limits_\\thetaP(x^(1), x^(2), ... , x^(n)|\\theta)P(\\theta) = \\mathop\\arg\\max\\limits_\\theta \\theta^k * (1-\\theta)^n-k*\\theta^\\alpha-1*(1-\\theta)^\\beta-1\\)

利用求偏导的方式可得,\\(\\hat\\theta = \\frack+\\alpha-1n+\\alpha+\\beta-2\\)

通过不同的先验分布的超参数,确定最终的 \\(\\theta\\) 值。

习题1.2

经验风险最小化:

根据经验风险的公式,可以得知经验风险是样本损失函数的平均值。

\\(R_emp = \\frac1N\\sum\\limits_i=1^N L(y_i, f(x_i))\\)

由于损失函数为对数损失函数,所以 \\(L(y_i, f(x_i)) = -log(P(Y|X))\\)

所以经验风险最小化估计的参数 \\(\\theta\\)\\(\\hat\\theta = \\mathop\\arg\\min\\limits_\\theta \\frac1N\\sum\\limits_i=1^N -log(P(y_i|x_i,\\theta))\\)

极大似然估计:

似然函数为 \\(L(\\theta) = P(y^(1), y^(2), ... , y^(n)|x^(1), x^(2), ... , x^(n), \\theta) = \\prod P(y^(i)|x^(i),\\theta)\\)

所以极大似然估计的参数 \\(\\theta\\)\\(\\hat\\theta = \\mathop\\arg\\max\\limits_\\theta log(L(\\theta)) = \\mathop\\arg\\max\\limits_\\theta \\sum\\limits_i=1^N log(P(y_i|x_i,\\theta))\\)

从而得出结论:模型是条件概率分布,损失函数是对数损失函数时,经验风险最小化等价于极大似然估计

《统计学习方法》第3章习题(代码片段)

习题3.1略习题3.2根据例3.2构造的kd树,可知最近邻点为\\((2,3)^T\\)习题3.3k近邻法主要需要构造相应的kd树。这里用Python实现kd树的构造与搜索importheapqimportnumpyasnpclassKDNode:def__init__(self,data,axis=0,left=None,right=None):self.data=dataself.axis=a 查看详情

统计学第七版贾俊平课后答案

统计学第七版课后习题答案贾俊平 目录:第1章导论统计学第七版贾俊平课后答案统计学第七版贾俊平答案1.1统计及其应用领域1.2统计数据的类型统计学第七版课后答案贾俊平1.3统计中的几个基本概念思考与练习 第2章数... 查看详情

数据库系统概论第五版(笔记+习题答案)(全)

...,将会对每一个章节进行一个整理,包括笔记和习题答案。目录前言第1章绪论第1章习题答案第2章关系数据库第2章习题答案第3章关系数据库标准语言SQL第3章习题答案第4章数据库安全性第4章习题答案第5章数据库完整性... 查看详情

习题

第1章统计学习方法概论习题1.1  说明伯努利模型的极大似然估计以及贝叶斯估计中的统计学习方法三要素。伯努利模型是定义在取值为0与1的随机变量上的概率分布。假设观测到伯努利模型nnn次独立的数据生成结果,其中k... 查看详情

c和指针第十三章习题

1,1标准输入读入字符,统计各类字符所占百分比 #include<stdio.h>#include<ctype.h>//不可打印字符intisunprint(intch){return!isprint(ch);}//转换表,储存各个判断函数指针int(*tables[])(int)={iscntrl,isspace,isdigit,islower,isupper, 查看详情

第1章统计学习方法概论

学习定义:如果一个系统能够通过执行某个过程改进他的性能,这就是学习。统计学习的对象:数据目的:对数据进行预测和分析方法:监督学习、非监督学习、半监督学习、强化学习 统计学习的三要素:方法=模型+策略+算... 查看详情

r语言基础题及答案——r语言与统计分析第六章课后习题(汤银才)(代码片段)

R语言与统计分析第六章课后习题(汤银才)题-1有一批枪弹,出厂时,其初速v∼N(950,σ2)v\\simN(950,\\sigma^2)v∼N(950,σ2)(单位:m/sm/sm/s).经过较长时间储存,取9发进行测试,得样本值(单位:m/sm/sm/s)如下:914,92... 查看详情

r语言基础题及答案——r语言与统计分析第六章课后习题(汤银才)(代码片段)

R语言与统计分析第六章课后习题(汤银才)题-1有一批枪弹,出厂时,其初速v∼N(950,σ2)v\\simN(950,\\sigma^2)v∼N(950,σ2)(单位:m/sm/sm/s).经过较长时间储存,取9发进行测试,得样本值(单位:m/sm/sm/s)如下:914,92... 查看详情

r语言基础题及答案——r语言与统计分析第五章课后习题(汤银才)(代码片段)

R语言与统计分析第五章课后习题(汤银才)题-1设总体XXX是用无线电测距仪测量距离的误差,它服从(α,β)(α,β)(α,β)上的均匀分布,在200次测量中,误差为XiX_iXi​的次数有nin_ini​次:XiX_iXi​3579111315171921nin_ini​21161526221421221825求(α,β)(α,... 查看详情

r语言基础题及答案——r语言与统计分析第五章课后习题(汤银才)(代码片段)

R语言与统计分析第五章课后习题(汤银才)题-1设总体XXX是用无线电测距仪测量距离的误差,它服从(α,β)(α,β)(α,β)上的均匀分布,在200次测量中,误差为XiX_iXi​的次数有nin_ini​次:XiX_iXi​3579111315171921nin_ini​21161526221421221825求(α,β)(α,... 查看详情

编译原理第一章学习(习题解答)

编译原理第一章 引论1.1练习1.编译器和解释器之间的区别是什么?  首先,编译器是一个软件系统或者说是一个程序,解释器是语言处理器。其次,编译器是把程序翻译成能被计算机执行的形式并报告翻译过程中发现... 查看详情

第1章软件架构设计原则

boss找leader统计course的数量,这是合成复用和最少知道(迪米特),统计这个方法既可以统计course,也可以统计javaCourse和pythonCourse,这是里氏替换和依赖倒置,统计这个方法只有统计功能,这是职责单一和接口隔离,如果要做课... 查看详情

javase习题第九章输入输出流

问答题1.如果准备读取一个文件的内容,应该使用FileInputStream还是FileOutputStream?FileInputStream2.FileInputStream流的read()方法与FileReader流的read()方法有何不同?FIleInputStream的read可以读一个字节,而FileReader中的read可以读一个字符3.Buffere... 查看详情

统计学习方法(第2章)感知机学习笔记

第2章感知机感知机是二类分类的线性分类模型,其输入为实例的特征向量,感知机对应于输入空间(特征空间)中将实例划分为正负两类的分离超平面,属于判别模型。导入基于误分类的损失函数,利用梯度下降法对损失函数... 查看详情

第3章文件操作练习题

练习,利用b模式,编写一个cp工具,要求如下:  1.既可以拷贝文本又可以拷贝视频,图片等文件  2.用户一旦参数错误,打印命令的正确使用方法,如usage:cpsource_filetarget_file  提示:可以用importsys,然后用sys.argv获取脚本... 查看详情

《dspusingmatlab》第2章习题problem2.1

1、代码:%%------------------------------------------------------------------------%%OutputInfoaboutthism-filefprintf(‘ *********************************************************** ‘);fprintf(‘<DSPusi 查看详情

全国计算机等级考试三级linux应用与开发技术考试-习题汇总(代码片段)

...录已过1.考试说明2.第1章-计算机体系结构与操作系统-练习题-选择题3.第1章-计算机体系结构与操作系统-练习题-简答题4.第1章-计算机体系结构与操作系统-练习题-填空题5.第2章-Linux系统概述-练习题6.第3章-Linux系统使用基础-练习... 查看详情

统计学习方法(第3章)k近邻法学习笔记

第3章K近邻法  k近邻算法简单、直观:给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的k个实例,这k个实例的多数属于某个类,就把该输入实例分为这个类。当K=1时,又称为最近邻算法,这时候... 查看详情