一、基础概念

线性分类模型:决策面(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学习笔记】第四章:分类的线性模型的更多相关文章

  1. [Python学习笔记][第四章Python字符串]

    2016/1/28学习内容 第四章 Python字符串与正则表达式之字符串 编码规则 UTF-8 以1个字节表示英语字符(兼容ASCII),以3个字节表示中文及其他语言,UTF-8对全世界所有国家需要 ...

  2. o'Reill的SVG精髓(第二版)学习笔记——第四章

    第四章:基本形状 4.1线段 SVG可以使用<line>元素画出一条直线段.使用时只需要指定线段起止点的x和y坐标即可.指定坐标时可以不带单位,此时会使用用户坐标,也可以带上单位,如em. ...

  3. Java 学习笔记 ------第四章 认识对象

    本章学习目标: 区分基本类型与类类型 了解对象与参考的关系 从打包器认识对象 以对象观点看待数组 认识字符串的特性 一."=" 和 "==" 当=用于基本类型时 ...

  4. 《metasploit渗透测试魔鬼训练营》学习笔记第四章—web应用渗透

    继续来学习metasploit...记好笔记是很重要的,下面开始正文: 二.WEB应用渗透技术     1.WEB应用渗透基础知识        先介绍WEB应用攻击的主要类型(大致介绍,具体请自行查 ...

  5. 【数据分析 R语言实战】学习笔记 第四章 数据的图形描述

    4.1 R绘图概述 以下两个函数,可以分别展示二维,三维图形的示例: >demo(graphics) >demo(persp) R提供了多种绘图相关的命令,可分成三类: 高级绘图命令:在图 ...

  6. c语言学习笔记第四章——字符串和格式化输入、输出

    B站有视频演示 本章学习printf函数的输入输出,字符串的定义与实用. 字符串 字符串(character string)是一个或多个字符的序列,如下所示: "Zing went the ...

  7. [core java学习笔记][第四章对象与类]

    4.3 用户自定义类 4.3.1 类数组的声明 需要两次new Employee[]=staff=new Employedd[3]; staff[0]=new Employedd(参数列表); sta ...

  8. The Road to learn React书籍学习笔记(第四章)

    高级React组件 本章将重点介绍高级 React 组件的实现.我们将了解什么是高阶组件以及如何实现它们.此外,我们还将深入探讨 React 中更高级的主题,并用它实现复杂的交互功能. 引用 DOM ...

  9. 《Python基础教程(第二版)》学习笔记 -> 第四章 字典

    字典是Python中唯一内建的映射类型. 字典中的值并没有特殊的顺序,但是都存储在一个特定的键(Key)里.键可以是数字.字符串甚至是元组. 字典的使用 某些情况下,字典比列表更加适用: 表征游戏棋盘 ...

  10. [HeadFist-HTMLCSS学习笔记][第四章Web镇之旅]

    重要 访问一个目录,即是访问他的index <a>链接到网站,必须加http:// <a>的title属性,能预先知道链接信息 id属性 使得<a> 能再本地跳转. ...

随机推荐

  1. 使用Git--将本地项目提交到Github

    前置工作 1. 在GitHub官网注册一个GitHub账号: 2. 安装git工具,在Git官网下载对应版本的Git: 方法一: 1. 进入Github首页,点击New repository新建一个项 ...

  2. Java简述

    Java的特点(11个关键术语)from<Java核心技术I> 1) 简单性 2)  面向对象 3)  分布式 Java有一个丰富的例程库,用于处理像HTTP和FTP之类的TCP/IP协议 ...

  3. POJ 2774 Long Long Message (后缀数组+二分)

    题目大意:求两个字符串的最长公共子串长度 把两个串接在一起,中间放一个#,然后求出height 接下来还是老套路,二分出一个答案ans,然后去验证,如果有连续几个位置的h[i]>=ans,且存在 ...

  4. [读书笔记] R语言实战 (四) 基本数据管理

    1. 创建新的变量 mydata<-data.frame(x1=c(2,2,6,4),x2=c(3,4,2,8)) #方法一 mydata$sumx<-mydata$x1+mydata$x ...

  5. JS数组中的indexOf方法

    前言 这两天在家中帮朋友做项目,项目中使用了数组的indexOf 方法,找到了一篇文章,感觉非常不错,顺便整理下以防链接丢失. 相信说到 indexOf 大家并不陌生,判断字符串是否包涵子字符串时特别 ...

  6. django-2-路由配置及渲染方式

    <<<视图>>> (1)首先要注册创建好的app (2)配置路由 在app目录下新建一个urls.py模块 模块里面复制myproject目录下urls.py里面的 ...

  7. JAVA多线程知识总结(二)

    本文是承接上一篇文章:JAVA多线程知识总结(一) 四.Java多线程的阻塞状态与线程控制  上文已经提到线程阻塞的集中具体类型.下面主要看引起JAVA线程阻塞的方法 1,join()-----让一个 ...

  8. open函数详解

    转载:https://www.cnblogs.com/frank-yxs/p/5925574.html open函数用来在进程中打开文件,如果成功则返回一个文件描述符fd. ============= ...

  9. 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])+ ...

  10. linux下开发,解决cocos2d-x中编译出现的一个小问题, undefined reference to symbol &#39;pthread_create@@GLIBC_2.2.5&#39;

    解决cocos2d-x中编译出现的一个小问题 对于cocos2d-x 2.×中编译中,若头文件里引入了#include "cocos-ext.h",在进行C++编译的时候会遇到例如 ...