【PRML学习笔记】第四章:分类的线性模型
一、基础概念
线性分类模型:决策面(decision boundary)是输入向量的线性函数
目标类别的表示"1 of K" :$ t = (0,1,0,0,0)^T$
二、分类问题的三种方式
1. 判别函数(discriminant function): 找到函数$f(x)$将输入$x$映射为类别标签
2. 生成式模型(generative model): 对条件概率$p(x|C_k)$和先验概率$p(C_k)$ 建模 然后通过贝叶斯定理计算. #求解模型复杂,但是可以求出边缘概率密度$p(x)$
3. 判别式模型(discriminative model): 直接对后验概率密度$p(C_k|x)$建模
判别函数:推广的线性模型(generalized linear model)
引入激活函数(activation function)$f(\cdot),使得y(x) = f(W^t x + W_0)$
三、判别函数
线性判别函数参数学习方法:最小平方法,Fisher线性判别函数,感知器
最小平方法:对应于高斯分布条件假设下的极大似然法,而二值目标向量的概率分布不是高斯分布。此外最小平方法对异常点及其敏感。
Fihser 线性判别函数:最大化一个函数,这个函数能够让类均值的投影分开最大,同时让类内部的方差较小。
感知器算法:对应一个二分类模型,输入向量首先使用一个固定的非线性函数变换得到特征向量$\phi(x)$然后使用这个特征向量构造一个二分
造一个一般的线性模型形式:$y(x) = f(w^T\phi(x))$
$$误差函数:E_P(w) = - \sum_{n\epsilon M} W^T\phi_n t_n$$
$$权向量迭代公式:w^{(\tau+1)} = w^{(\tau)} - \eta \Delta E_p(w) = w^{(\tau)}+\eta\phi_n t_n $$
四、概率生成模型
对条件分布概率和先验分布建模,然后使用贝叶斯定理计算后验分布概率。
对应于二分类模型:类别C_1后验概率可以写成:$p(C_1|x) =\frac{p(x|C_1)P(C_1)}{p(x|C_1)P(C_1)+p(x|C_2)p(C_2)} = \sigma(a)$
其中:$a = ln\frac{p(x|C_1)p(C_1)}{p(x|C_2)p(C_2)}$
对应于K>2个类别模型:$p(C_k|x) = \frac{p(x|C_k)p(C_k)}{\sum_j p(x|C_j)p(C_j)} = \frac{a_k}{\sum_j\exp(a_j)}$
其中:$a_k = lnp((x|C_k)p(C_k))$
对于连续输入:假设条件类概率密度是高斯分布,且所有类比饿的协方差矩阵相同, $C_k$的类条件概率密度为:
$$p(x|C_k) = \frac{1}{(2\pi)^{D/2}} \frac{1}{|\sum|^{1/2}} exp\left\{-\frac{1}{2}(x-\mu_k)^T\sum^{-1}(x-\mu_k)\right\} $$
【PRML学习笔记】第四章:分类的线性模型的更多相关文章
- [Python学习笔记][第四章Python字符串]
2016/1/28学习内容 第四章 Python字符串与正则表达式之字符串 编码规则 UTF-8 以1个字节表示英语字符(兼容ASCII),以3个字节表示中文及其他语言,UTF-8对全世界所有国家需要 ...
- o'Reill的SVG精髓(第二版)学习笔记——第四章
第四章:基本形状 4.1线段 SVG可以使用<line>元素画出一条直线段.使用时只需要指定线段起止点的x和y坐标即可.指定坐标时可以不带单位,此时会使用用户坐标,也可以带上单位,如em. ...
- Java 学习笔记 ------第四章 认识对象
本章学习目标: 区分基本类型与类类型 了解对象与参考的关系 从打包器认识对象 以对象观点看待数组 认识字符串的特性 一."=" 和 "==" 当=用于基本类型时 ...
- 《metasploit渗透测试魔鬼训练营》学习笔记第四章—web应用渗透
继续来学习metasploit...记好笔记是很重要的,下面开始正文: 二.WEB应用渗透技术 1.WEB应用渗透基础知识 先介绍WEB应用攻击的主要类型(大致介绍,具体请自行查 ...
- 【数据分析 R语言实战】学习笔记 第四章 数据的图形描述
4.1 R绘图概述 以下两个函数,可以分别展示二维,三维图形的示例: >demo(graphics) >demo(persp) R提供了多种绘图相关的命令,可分成三类: 高级绘图命令:在图 ...
- c语言学习笔记第四章——字符串和格式化输入、输出
B站有视频演示 本章学习printf函数的输入输出,字符串的定义与实用. 字符串 字符串(character string)是一个或多个字符的序列,如下所示: "Zing went the ...
- [core java学习笔记][第四章对象与类]
4.3 用户自定义类 4.3.1 类数组的声明 需要两次new Employee[]=staff=new Employedd[3]; staff[0]=new Employedd(参数列表); sta ...
- The Road to learn React书籍学习笔记(第四章)
高级React组件 本章将重点介绍高级 React 组件的实现.我们将了解什么是高阶组件以及如何实现它们.此外,我们还将深入探讨 React 中更高级的主题,并用它实现复杂的交互功能. 引用 DOM ...
- 《Python基础教程(第二版)》学习笔记 -> 第四章 字典
字典是Python中唯一内建的映射类型. 字典中的值并没有特殊的顺序,但是都存储在一个特定的键(Key)里.键可以是数字.字符串甚至是元组. 字典的使用 某些情况下,字典比列表更加适用: 表征游戏棋盘 ...
- [HeadFist-HTMLCSS学习笔记][第四章Web镇之旅]
重要 访问一个目录,即是访问他的index <a>链接到网站,必须加http:// <a>的title属性,能预先知道链接信息 id属性 使得<a> 能再本地跳转. ...
随机推荐
- 使用Git--将本地项目提交到Github
前置工作 1. 在GitHub官网注册一个GitHub账号: 2. 安装git工具,在Git官网下载对应版本的Git: 方法一: 1. 进入Github首页,点击New repository新建一个项 ...
- Java简述
Java的特点(11个关键术语)from<Java核心技术I> 1) 简单性 2) 面向对象 3) 分布式 Java有一个丰富的例程库,用于处理像HTTP和FTP之类的TCP/IP协议 ...
- POJ 2774 Long Long Message (后缀数组+二分)
题目大意:求两个字符串的最长公共子串长度 把两个串接在一起,中间放一个#,然后求出height 接下来还是老套路,二分出一个答案ans,然后去验证,如果有连续几个位置的h[i]>=ans,且存在 ...
- [读书笔记] R语言实战 (四) 基本数据管理
1. 创建新的变量 mydata<-data.frame(x1=c(2,2,6,4),x2=c(3,4,2,8)) #方法一 mydata$sumx<-mydata$x1+mydata$x ...
- JS数组中的indexOf方法
前言 这两天在家中帮朋友做项目,项目中使用了数组的indexOf 方法,找到了一篇文章,感觉非常不错,顺便整理下以防链接丢失. 相信说到 indexOf 大家并不陌生,判断字符串是否包涵子字符串时特别 ...
- django-2-路由配置及渲染方式
<<<视图>>> (1)首先要注册创建好的app (2)配置路由 在app目录下新建一个urls.py模块 模块里面复制myproject目录下urls.py里面的 ...
- JAVA多线程知识总结(二)
本文是承接上一篇文章:JAVA多线程知识总结(一) 四.Java多线程的阻塞状态与线程控制 上文已经提到线程阻塞的集中具体类型.下面主要看引起JAVA线程阻塞的方法 1,join()-----让一个 ...
- open函数详解
转载:https://www.cnblogs.com/frank-yxs/p/5925574.html open函数用来在进程中打开文件,如果成功则返回一个文件描述符fd. ============= ...
- ZOJ 3329
方程很明显有 d[i]=sum(pk*d[i+k])+p0*d[0]; 其中pi可以在开始时枚举求出. 设d[i]=A[i]*d[0]+B[i], 代入上式 d[i]=(sum(pk*A[i+k])+ ...
- linux下开发,解决cocos2d-x中编译出现的一个小问题, undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'
解决cocos2d-x中编译出现的一个小问题 对于cocos2d-x 2.×中编译中,若头文件里引入了#include "cocos-ext.h",在进行C++编译的时候会遇到例如 ...