第三章 线性模型
来源:互联网 发布:拳皇14出招优化补丁 编辑:程序博客网 时间:2024/05/22 08:23
- 第三章 线性模型
- 基本形式
- 线性回归
- 对数几率回归
- 线性判别分析
- 多分类学习
第三章 线性模型
基本形式
线性模型(linear mode)试图学得一个通过属性的线性组合来进行预测的函数:
f(x⃗ )=ω1x1+ω2x2+...+ωdxd+b
向量形式:
f(x⃗ )=ω⃗ Tx⃗ +b
其中ω⃗ =(ω1;ω2;...;ωd) ;x⃗ (x1;x2;...;xd) 为由d个属性描述的示例,xi 是x⃗ 在第i 个属性上的取值。
线性模型形式简单,有丰富的变化,易于建模,并且有很好的可解释性(comprehensibility)。
线性回归
对于给定数据集
D=(x1,y1),(x2,y2),..,(xm,ym) 。“线性回归”(linear regression)试图学得一个线性模型以尽可能准确预测实值输出标记即f(xi)=ωTxi+b ,使得f(xi)≃yi ,这称为“多元线性回归”(multivariate linear regression)。
- 关于离散属性
若属性值间存在“序”(order)关系,可通过连续化将其转化为连续值;若属性值间不存在序关系,则通常转化为k维向量(k为属性值个数) - 确定
ω 和b
利用“最小二乘法”使均方误差最小化来进行模型求解。 - 线性回归模型(矩阵
XTX 满秩)f(x^i)=x^Ti(XTX)−1XTy⃗ )
其中矩阵X表示数据集D,大小为m×(d+1):
向量y⃗ =(y1;y2;...;ym) 表示标记。 - 对数线性回归
lny=ωTx+b - 广义线性模型
y=g−1(ωTx+b)
其中函数g(・)称为“联系函数”(link function)
对数几率回归
对于二分类任务,其输出标记
y∈ {0,1},需要将实值z=ωTx+b 转换为0/1值。
- 单位阶跃函数(unit-step function)
y=⎧⎩⎨0,0.5,1,z < 0;z = 0;z > 0, - 对数几率函数(logistic function)
y=11+e−z
对数几率函数是一种“Sigmoid函数”,它将z值转化为一个接近0或1的y值,并且在z = 0附近变化很陡。将其带入广义线性模型得y=11+eωTx+b ,将其转化为对数形式:lny1−y=ωTx+b
将y视为样本x作为正例的相对可能性,所以称y1−y 为“几率”(odds),反映x作为正例的相对可能性。对几率取对数则得到“对数几率”(log odds,或logit)。
线性判别分析
线性判别分析(linear Discriminant Analysis,简称LDA)是一种经典的线性学习方法。
- LDA思想
给定训练样例集,设法将样例投影到一条直线上,使同类样例的投影点尽可能接近,异类样例的投影点尽可能远离,通过新样例在直线上的投影点的位置来确定新样本的类别。 - 类内散度矩阵(within-class scatter maxtrix)
Sω=∑0+∑1=∑x∈X0(x−μ0)(x−μ0)T+∑x∈X1(x−μ1)(x−μ1)T - 类间散度矩阵(between-class scatter matrix)
Sb=(μ0−μ1)(μ0−μ1)T - 广义瑞利商
J=ωTSbωωTSωω
这就是LDA欲最大化的目标
多分类学习
对于多分类问题,基本策略是利用二分类学习器来解决多分类问题。
- 拆解法
将多分类任务拆分为若干个二分类任务求解,最经典的拆分策略有三种:
给定数据集D={(x1,y1),(x2,y2),...,(xm,ym) },yi∈ {C1,C2,...,CN }。
- “一对一”(One vs. One,简称OvO)
OvO将这N个类别两两配对,为区分类别Ci 和Cj 训练一个分类器。在测试阶段,新样本同时提供给所有分类 器,将被预测得最多的类别作为最终分类结果。 - “一对其余”(One vs. Rest,简称OvR)
OvR每次将一个类的样例作为正例,所有其他类的样例作为反例来训练N个分类器。测试时若仅有一个分类器预测为正类,则对应的类别标记作为最终分类结果;若有多个,则选择置信度最大的类别标记作为分类结果。
- “多对多”(Many vs. Many,简称MvM)
MvM每次将若干个类作为正类,若干个其他类作为反类。MvM的正,反类构造必须有特殊的设计,不能随意选取。最常用的MvM技术:“纠错输出码”(Error Correcting Output Codes,简称ECOC)
- “一对一”(One vs. One,简称OvO)
- ECOC
ECOC编码对分类器的错误有一定的容忍和修正能力。一般对同一个学习任务,ECOC编码越长,纠错能力越强。对同等长度的编码,理论上任意两个类之间的编码距离越远,则纠错能力越强。 - ECOC工作过程
- 编码:
对N个类别做M次划分,类别划分通过“编码矩阵”指定,每次划分将一部分类别划为正类,一部分划为反类,从而形成一个二分类训练集;这样产生M个训练集,训练出M个分类器。 - 解码:
M个分类器分别对测试样本进行预测,这些预测标记组成一个编码。将这个预测编码与每个类别各自的编码进行比较,返回其中距离最小的类别作为最终预测结果。
- 编码:
编码矩阵(coding matrix)
- 二元码
将每个类别分别指定正类和反类 - 三元码
除了正,反类之外,还可指定“停用类”
- 二元码
阅读全文
0 0
- 第三章 线性模型
- 第三章 线性模型
- 第三章 线性模型
- 第三章 线性模型
- 第三章 回归线性模型
- 第三章 广义线性模型(GLM)
- 西瓜书第三章 线性模型
- 【ML笔记】第三章 线性模型
- 读书笔记《机器学习》: 第三章:线性模型
- 机器学习(周志华) 参考答案 第三章 线性模型 3.3
- 机器学习(周志华) 参考答案 第三章 线性模型 3.4
- 机器学习(周志华) 参考答案 第三章 线性模型 3.5
- 机器学习(周志华) 参考答案 第三章 线性模型
- Pattern Recognition and Machine Learning 第三章 线性回归模型
- <机器学习>(周志华)读书笔记 -- 第三章 线性模型
- 机器学习(周志华)_第三章线性模型
- 第三章 线性模型--机器学习(周志华)参考答案
- 第三章 线性表
- Laravel基础-后台CSRF认证及验证码判断细节
- 学习大数据不能不知道的七个知识点
- 把嵌套Json转换成Java对象
- A Neural Probabilistic Language Model笔记
- Java经典算法40例(二十五)
- 第三章 线性模型
- 如何对已经公开的接口进行重构?(@Deprecated的使用)
- 【树状数组--求逆序数】poj3067 Japan
- js
- Codeforces Round #400 C. Molly's Chemicals(前缀和)
- Java Hibernate Mysql
- 扫盲系列—CGI与FastCGI
- POJ
- WebView的坑