简单的PRML阅读笔记

2024-05-09 07:48
文章标签 简单 笔记 阅读 prml

本文主要是介绍简单的PRML阅读笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

chapter1 绪论

chapter1.1 多项式拟合

  1. 离散标签叫做分类,连续标签叫做回归
  2. 在多项式拟合的问题中,随着阶数的变大,参数 M 通常会变得非常大,造成过拟合现象,因此,通过正则化(regulation)可以降低 M 的参数大小,这样的技术在统计学中叫收缩(shrinkage),在神经网络中称之为权重衰减(weight decay)

chapter1.2.5 重新考虑曲线拟合问题

  1. 对于点集 x=(x1,x2,x3,...xN)T 和它的对应目标 t=(t1,...tN)T ,在给定 xi 的情况下,将预测值 ti 看成均值为真实值 yi 的高斯分布, 可以得到似然函数:
    p(t|x,w,β)=n=1NN(tn|y(xn.w,β1))
    ,然后取对数的似然函数可以得到之前进行曲线拟合的时候使用的最小二乘法的公式,这也为最小二乘法提供了从最大似然函数的角度上的依据
  2. 如果将上面的结论朝着贝叶斯的方法前进一步,其实就是根据贝叶斯公式在似然函数上加入了参数的先验分布 p(w|α) ,如果该先验分布服从均值为0的高斯分布,那么可以得出
    p(w|α)=(α2π)M+12exp{α2wTw}
    ,其中 M 为参数个数, 这种技术称之为最大后验,最大后验概率就是最小化下式
    β2n=1N{y(xn,w)tn}2+α2wTw
    , 我常见的最后一项并不带进加和公式里面,但是如果从最开始就加入 p(w|α) 我觉得最后一项应该加进加和公式里,这也是我的疑惑,值得注意的是,这仍然不是纯正的贝叶斯观点,因为目前仍然使用的是对 w 的点估计,在纯粹的贝叶斯方法中,需要对所有的w进行积分,始终应用概率的加法和乘法原则。

chapter1.5 决策论

  1. 三种常见决策方法: 最小化错误分类率;最小化期望损失;拒绝选项
  2. 生成模型:确定条件密度 P(x|Ck) 判别模型:确定后验概率密度 P(Ck|x)
  3. 判别函数分类和概率无关,可对应到支持向量机分类
  4. 回归问题的估计函数:
    y(x)=Et[t|x]
    , 这一点可以对应到逻辑斯蒂回归的目标函数为 P(y=1|φ)

chapter4 分类的线性模型

chapter4.2 概率生成模型

概率生成模型是对类条件概率密度 p(x|Ck) 和类先验概率密度 p(Ck) 建模,然后使用这两个概率密度通过贝叶斯定力计算后验概率密度 p(Ck|x)
考虑二分类的情形,类别 C1 的后验概率可以写成:

p(C1|x)=p(x|C1)p(C1)p(x|C1)p(C1)+p(x|C2)p(C2)

=11+exp(α)=σ(α)
其中
α=ln(p(x|C1)p(C1)p(x|C2)p(C2))
σ 定义为:
σ(α)=11+exp(α)

对于多类,我们有:
p(Ck|x)=p(x|Ck)p(Ck)jexp(αj)=exp(αk)jexp(αj)
其中
αk=ln(p(x|Ck)p(Ck))

4.2.1 连续输入

假设类条件概率密度是高斯分布,且假设所有的类别的协方差矩阵相同,这样类别 Ck 的类条件概率是:

p(x|Ck)=1(2π)D21||12exp{12(xμk)T1(xμk)}
考虑两类情形,则有:
p(x|Ck)=σ(wTx+w0)
其中
w=1(μ1μ2)
w0=12μT11μ1+12μT21μ2+ln(p(C1)p(C2))
对于多类情况,则有
αk(x)=wTkx+wk0
其中
wk=1μk
wk0=12μTkkμ1

这些说明了,对于连续的输入,其概率公式 P(CK|x) 可以表示为线性模型

4.2.2最大似然解

4.3概率判别式模型

根据上一节的内容,

p(C1|φ)=y(φ=σ(wTφ))
对于数据集 φn,tn ,其中 tn{0,1} 有似然函数
p(t|w)=n=1Nytnn{1yn}1tn
似然函数的负对数即为交叉熵误差函数

这篇关于简单的PRML阅读笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

Mysql表的简单操作(基本技能)

《Mysql表的简单操作(基本技能)》在数据库中,表的操作主要包括表的创建、查看、修改、删除等,了解如何操作这些表是数据库管理和开发的基本技能,本文给大家介绍Mysql表的简单操作,感兴趣的朋友一起看... 目录3.1 创建表 3.2 查看表结构3.3 修改表3.4 实践案例:修改表在数据库中,表的操作主要

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

如何使用Python实现一个简单的window任务管理器

《如何使用Python实现一个简单的window任务管理器》这篇文章主要为大家详细介绍了如何使用Python实现一个简单的window任务管理器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起... 任务管理器效果图完整代码import tkinter as tkfrom tkinter i

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

使用EasyExcel实现简单的Excel表格解析操作

《使用EasyExcel实现简单的Excel表格解析操作》:本文主要介绍如何使用EasyExcel完成简单的表格解析操作,同时实现了大量数据情况下数据的分次批量入库,并记录每条数据入库的状态,感兴... 目录前言固定模板及表数据格式的解析实现Excel模板内容对应的实体类实现AnalysisEventLis

Java中数组转换为列表的两种实现方式(超简单)

《Java中数组转换为列表的两种实现方式(超简单)》本文介绍了在Java中将数组转换为列表的两种常见方法使用Arrays.asList和Java8的StreamAPI,Arrays.asList方法简... 目录1. 使用Java Collections框架(Arrays.asList)1.1 示例代码1.

Java8需要知道的4个函数式接口简单教程

《Java8需要知道的4个函数式接口简单教程》:本文主要介绍Java8中引入的函数式接口,包括Consumer、Supplier、Predicate和Function,以及它们的用法和特点,文中... 目录什么是函数是接口?Consumer接口定义核心特点注意事项常见用法1.基本用法2.结合andThen链

C++初始化数组的几种常见方法(简单易懂)

《C++初始化数组的几种常见方法(简单易懂)》本文介绍了C++中数组的初始化方法,包括一维数组和二维数组的初始化,以及用new动态初始化数组,在C++11及以上版本中,还提供了使用std::array... 目录1、初始化一维数组1.1、使用列表初始化(推荐方式)1.2、初始化部分列表1.3、使用std::

redis群集简单部署过程

《redis群集简单部署过程》文章介绍了Redis,一个高性能的键值存储系统,其支持多种数据结构和命令,它还讨论了Redis的服务器端架构、数据存储和获取、协议和命令、高可用性方案、缓存机制以及监控和... 目录Redis介绍1. 基本概念2. 服务器端3. 存储和获取数据4. 协议和命令5. 高可用性6.