线性模型(linear model)

线性模型试图学得一个通过属性的线性组合来进行预测的函数,即:

...  (其中;...;为输入属性,;...;和b为模型参数)

向量表示为:

  (其中为输入属性向量,和b为模型参数)

线性模型的优点:

1.形式简单、易于建模

2.通过引入层级结构或高维映射可得到非线性模型

3.具有很好的可解释性(直观表达了各属性在预测中的重要性)


线性回归

1.单变量线性回归

2.多变量线性回归(多元线性回归)

线性回归试图学得一个线性模型以尽可能准确地预测实值输出标记。

常使用均方误差作为性能度量,试图让均方误差最小化。基于均方误差最小化来进行模型参数求解的方法称为“最小二乘法”

线性回归任务使用最小二乘法来进行参数估计,获得w和b的值。


广义线性模型(general linear model)

当模型的预测值逼近真实标记y时,就得到了线性回归模型。

当模型的预测值逼近y的衍生物时,如逼近标记y的对数即lny时,线性回归任务变成了“对数线性回归”,其形式上仍是线性回归,但实质上已经是在求取输入空间到输出空间的非线性函数映射。对数函数起到了将线性回归模型的预测值与真实标记联系起来的作用。此时,得到的模型可以称为广义线性模型,其中的函数称为联系函数。

联系函数为g(·)可推广为:


对数几率回归

把对数几率函数(sigmoid函数)作为联系函数,将预测实值z转换为0/1值。所得数值为正例可能性,可能性大于0.5则判定为正例1,小于0.5则判定为反例0。

对率函数及图像:

其中z为模型预测实值,将z代入可得:

可变化为:

将y视为样本正例的可能性,则1-y为样本反例可能性,两者比值称为“几率”,反映了x作为正例的相对可能性:

对几率取对数则得到“对数几率”:

该方法对应的模型称为“对数几率回归”,名字是“回归”,但实际是一种二分类学习方法。

二分类任务使用极大似然法进行参数估计


多分类任务

可通过拆解法,将多分类任务拆为若干个二分类任务。通常有三种拆分策略:

One vs One:将N个分类两两配对,从而产生N(N-1)/2个二分类任务。在测试阶段,新样本将同时提交给所有分类器,于是将得到N(N-1)/2个分类结果,最终结果可通过投票产生:即把被预测得最多的类别作为最终分类结果。

One vs Rest:将一个类的样例作为正例、所有其他类的样例作为反例来训练N个分类器。在测试阶段,仅有一个分类器预测为正类,则对应的类别标记作为最终分类结果。

Many vs Many:每次将若干类作为正例,若干个其他类作为反例。

容易看出,OvR只需要训练N个分类器,而OvO需训练N(N-1)/2个分类器,因此,OvO的存储开销和测试时间开销通常比OvR更大。但在训练时,OvR的每个分类器均使用全部训练样例,而OvO的每个分类器仅用到两个类的样例,因此,在类别很多的时候,OvO的训练时间开销通常比OvR更小。


类别不平衡问题

如果不同类别的训练样例数稍有差别,通常影响不大,但若差别很大,则会对学习过程造成困扰。例如有998个反例,但正例只有2个,那么学习方法只需返回一个永远将新样本预测为反例的学习机器,就能达到99.8%的精度。然而这样的学习器没有什么价值,因为它不能预测出任何正例。

类别不平衡就是指分类任务中不同类别的训练样例数目差别很大的情况。在现实的分类学习任务中,经常会遇到类别不均衡,例如在通过拆分法解决多分类问题时,即使原始问题中不同类别的训练样例数目相当,在使用OvR、MvM策略后产生的二分类任务仍可能出现类别不平衡现象。

从分类器的角度讨论,在使用线性模型对新样本x进行分类时,事实上是在用预测出的y值与一个阈值进行比较,例如通常在y>0.5时判别为正例,否则为反例。y实际上表达了正例的可能性,几率则反映了正例可能性与反例可能性之间的比值,阈值设置为0.5恰表明分类器认为真实正、反例可能性相同,即分类器决策规则为:

 > 1则预测为正例

然而,当训练集中正、反例的数目不同时,令表示正例数目,表示反例数目,则观测几率是,由于通常假设训练集是真实样本总体的无偏采样,因此观测几率就代表了真实几率。于是,只要分类器的预测几率高于观测几率就应判为正例,即分类器决策规则为:

 > 则预测为正例

但是,分类器实际是基于第一个规则决策的,因此,需要对其预测值进行调整,使其决策规则向第二个靠拢,这就是类别不平衡学习的一个基本策略“再缩放”。可令:

机器学习-线性模型及广义线性模型相关推荐

  1. 广义线性模型_广义线性模型(第六章补充)

    上一篇文章(第六章)主要介绍了最大熵模型,并从中推导出逻辑斯谛回归,感觉意犹未尽.在复习了CS229 Lecture note之后,我决定重新整理思路:从广义线性模型的角度来看逻辑斯谛回归.最后,基于 ...

  2. 从线性模型到广义线性模型(2)——参数估计、假设检验

    本文系转载,原文链接:http://cos.name/2011/01/how-does-glm-generalize-lm-fit-and-test/ 1.GLM参数估计--极大似然法 为了理论上简化 ...

  3. 狭义线性模型与广义线性模型

    狭义线性模型:自变量上不可能有高次项,自变量与标签之间不能存在非线性关系: 广义线性模型:只要标签与模型拟合出的参数之间的关系是线性的,模型就是线性的.这就是说,只要生成的一系列w之间没有相乘或者相除 ...

  4. 一般线性模型、混合线性模型、广义线性模型

    http://bbs.pinggu.org/thread-2996069-1-1.html

  5. 牛顿方法、指数分布族、广义线性模型—斯坦福ML公开课笔记4

    转载请注明:http://blog.csdn.net/xinzhangyanxiang/article/details/9207047 最近在看Ng的机器学习公开课,Ng的讲法循循善诱,感觉提高了不少 ...

  6. 广义线性模型到底是个什么鬼?

    以下文章内容摘自网络:说人话的统计学 原标题:广义线性模型到底是个什么鬼? ❉说人话的统计学❉ 从逻辑回归模型开始,我们连续讲了好多集有些相似又特点各异的几种统计模型.它们有个统一的旗号,叫做「广义线 ...

  7. PySpark线性回归与广义线性模型

    PySpark线性回归与广义线性模型 1.线性回归 2.岭回归(Ridge Regression)与LASSO回归(LASSO Regression) 3.广义线性模型 (GLM) 本文为销量预测第7 ...

  8. 广义线性模型、Logistic、sigmoid、softmax、多分类、与大数据、优缺点

    广义线性模型.广义线性模型的数学形式.Logistic回归.sigmoid函数.softmax函数.Logistic多分类.Logistic与大数据.Logistic回归优缺点总结 目录

  9. 广义线性模型(Generalized Linear Models, GLM)与线性回归、逻辑回归的关系

    线性回归和逻辑回归都是广义线性模型的特例. 1 指数分布族 如果一个分布可以用如下公式表达,那么这个分布就属于指数分布族. 这是<数理统计>课本中的相关定义,大多数利用的定义如下(y不是一 ...

最新文章

  1. php日历如何写,如何写一个好看的实用的日历
  2. 学习vim 从常用按键开始
  3. 《从零开始学Swift》学习笔记(Day 66)——Cocoa Touch设计模式及应用之通知机制...
  4. 关于图片预加载的思考
  5. LeetCode MySQL 185. 部门工资前三高的所有员工(dense_rank)
  6. Spyder:Python中机器学习的强大武器
  7. 在JSP中使用JavaBean
  8. spring boot 邮件端口_springboot集成qq邮件发送功能
  9. 最惊艳你的短句是什么?
  10. BZOJ 2456: mode
  11. Public Key Retrieval is not allowed(已解决)
  12. 一步一步打造WebIM(1) (转载)
  13. Android 中文 API——android.widget合集(中)(50篇)(chm格式)
  14. DirectX SDK 安装时出现错误 [Error Code:S1023] 的解决方案
  15. 手工焊锡通用工艺规程
  16. 最新TIOBE编程语言排行:C语言第一,Python反超Java,挤进第二
  17. Mybatis---简单缓存了解
  18. 闹钟和时间管理工具Alarm Clock Pro mac
  19. 程序员,职场上请远离这种人!
  20. 淘宝/天猫图片识别商品接口,1688图片识别商品API接口

热门文章

  1. 将进酒翻译软件测试,乐府诗《将进酒》拼音及翻译整理
  2. 嵌入式Linux常用命令
  3. C语言编程之错误一:error C2059:syntax error : ‘)’
  4. Android application 和 activity 标签详解
  5. F2. Promising String (hard version)(cf)树状数组
  6. 【云原生|Docker系列6】Docker Compose的命令使用详解
  7. APP流量变现,SDK聚合技术流量变现
  8. 分享72个商务商城PHP源码,总有一款适合你
  9. Python 轻松解决从 K 个字符串数组中任意取一个字符串,按顺序拼接,列出所有可能的字符串组合。(对比用库和不用库的方法)
  10. matlab中的向量除法