基本形式

  • 问题描述:给定由d个属性描述的示例x=(x1;x2;x3…xd),其中xi是x的第i个属性上的取值,线性模型试图学得一个通过属性的线性组合来进行预测函数,
  • 函数形式:f(x) = w1x1+w2x2+…wdxd+b,
  • 向量形式:
    例:西瓜问题中学的“f好瓜(x)=0.2x色泽+0.5x根蒂+0.3*x敲声+1”,则意味着可通过综合考虑色泽、根蒂和敲声来判断瓜好不好,由式子可以看出,其中根蒂最要紧,而敲声比色泽更重要。

非线性模型可以在线性模型的基础上通过引入层级结构或高维映射而得。

线性回归

2.1 问题描述

2.2 一元线性回归

  1. 训练集只有一个属性
  2. 给定数据集 D = { ( x i , y i ) } i = 1 m D=\left\{\left(x_{i,}y_i\right)\right\}^m_{i=1} D={(xi,​yi​)}i=1m​
  3. 线性预测表示为:f(xi)=wxi+b,通过训练集得到w和b的值,使得f(xi)≈yi。

若属性值间存在“序”关系,可通过连续化将其转化为连续值,例如二值属性“身高”的取值“高”“矮”可转化为{1,0},三值属性“高度”的取值“高”“中”“低”可转化为{1,0.5,0};

若属性值间不存在序关系,假定有个k个属性值,则通常转化为k维向量,例如属性“瓜类”的取值“西瓜”“南瓜”“黄瓜”可转化为(0,0,1),(0,1,0),(1,0,0).

  • 目标函数:如何确定w和b呢?显然在于如何衡量f(x)与y之间的差别。均方误差是回归任务中最常用的性能度量。我们试图让均方误差最小化

    均方误差对应了常用的欧几里得距离或简称“欧氏距离”。基于均方误差最小化来进行模型求救的方法称为“最小二乘法”。在线性回归中,最小二乘法就是试图找到一条直线,使所有样本到直线上的欧氏距离之和最小。

2.3 多元线性回归

  1. 训练样本有d个属性
  2. 对于m个样本和d个属性的数据集D,可以表示为:
  3. 类似使用最小二乘法,线性预测使得如下指标最小

    然而在实际情况中这个条件不一定能够满足,比如属性数目比较多,甚至超过样例数,导致X的列数多于行数,这就相当于多元方程组变量数目>方程数,就会有多组解。选择哪个解便由学习算法的归纳偏好决定,常见的做法是引入正则化。(见6.4和11.4)

高维问题可以用梯度反向传播法,见3.7

2.4 对数线性回归log-linear regression

原型: y = w T x + b y=w^Tx+b y=wTx+b
对数: ln ⁡ y = w T x + b \ln y=w^Tx+b lny=wTx+b
本质:

2.5广义线性模型

考虑更一般的情况,有link function联系函数g()

现实情况不可能每次都能用线性模型进行拟合,如果对输出y做空间的非线性映射,便可得到广义的线性模型,从线性到非线性。

此时g(.)=ln(.)

对数几率分析



3.1 二分类任务


理想状态是单位阶跃函数

若预测值z为正,则判断为正例,为负则判断为反例,为0则任意判别。

但阶跃函数并不是可微的,因此必须寻找替代函数surrogate function。目前使用比较广泛的是对数几率函数logistic function,它是Sigmoid函数的一种。它的好处在于:

  1. 单调可微
  2. 在0处变化陡峭,最接近阶跃函数,适合二分类


  3. 将y视为样本x作为正例的可能性,则1-y是其反例可能性,两者的比值称为
    几率:x取1的相对可能性odd y 1 − y \frac{y}{1-y} 1−yy​

对数几率log odds: ln ⁡ y = y 1 − y \ln y=\frac{y}{1-y} lny=1−yy​
从本质上讲,对数几率回归模型logistic regression就是在用线性回归模型的预测结果去逼近真实标记的对数几率。

3.2 优点

虽然还是回归模型,但却是一种分类学习方法。之前普遍翻译为逻辑回归,意义相去甚远,还是用对数几率回归比较符合一些。它的好处在于:

  1. 将分类进行建模,无需事先假设数据分布,避免假设分布不准确所带来的问题
  2. 不仅分类,还可得到近似概率预测,可利用概率辅助决策
  3. 对率函数是任意阶可导的凸函数,有很好的数学性质,可方便求取最优解

3.3 求解

确定模型之后,接下来自然要做的就是确定w和b。这里要使用到的方法是极大似然法maximum likelihood method。
极大似然估计详解.
似然项可以用来衡量训练样本在多大程度上符合假设的分布。
如何理解似然函数?.
或者参考7.2节

不过我有点儿转不过来弯,(3.27)这里为什么要用最小化?先放这儿,看之后能不能解决。

线性判别分析 (LDA)


LDA 的思想非常朴素: 给定训练样例集, 设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离;

多分类学习


多分类学习可在二分类基础上进行。将原问题拆分为多个二分类任务,然后每个二分类训练一个分类器,然后再进行集成获得最终的多分类结果。核心就是拆分+集成。
具体选择哪一种拆分策略,要看具体情况下的存储和时间开销,以及性能高低。

一对一OvO

假设训练集有四类样本,C1,C2,C3,C4,训练时两两组合为二分类进行训练,新样本通过这 C N 2 C^2_N CN2​个分类器后会得到N(N−1)2个分类结果,最终结果可根据这些分类结果投票产生。

一对其余OvR
训练时一个类作为正例,其余所有类作为反例。这样共有N个二分类器进行训练,新样本通过分类器时预测结果为正例的即为最终结果。
当新样本测试时,若只有一个分类器预测为正类,则该预测作为最终结果。若有多个分类器预测为正类,则此时应考虑各个分类器的预测置信度,选择置信度最大的类别标记作为分类结果。

多对多MvM

MvM策略是每次将若干个类视为正类,若干个类视为反类

本质上讲前两种情况都是MvM的特殊情况。基本思路是训练集每一类通过多个分类器训练会产生一组编码结果,新样本通过分类器产生的编码结果与每个分类器的结果求距离,距离最短者即为最终结果。

这里常用的MvM编码技术是:**纠错输出码ECOC Error Correcting Output Codes,**其关键在于:

  1. 如何划分类别形成二分类训练集,也就是编码
  2. 解码,选择如海明距离、欧式距离作为衡量,同时纠错能力强,能容错

ECOC工作过程分为两步
(1)编码,对N个类别进行M次划分,每次划分将一部分类别作为正类,一部分类别作为反类,形成一个二分类训练集。这样一共可以产生M个训练集,可以训练出M个分类器。

(2)解码,M个分类器分别对测试样本进行预测,预测标记组成一个编码,将该预测标记编码与各个类别各自的编码进行比较,返回其中距离(欧氏距离,海明距离)最小的类别作为最终预测结果。

ECOC的类别划分主要通过“编码矩阵”指定,而编码矩阵有多种形式,常见的有二元码(-1,+1)和三元码(-1,0,+1)


如图所示,共4个类别,进行了M=5次划分,共有f1,f2,f3,f4,f5这5个分类器。每个类别经过这5个分类器都会输出一个编码,例如3-5(a)中的C1类的输出编码为(-1,+1,-1,+1,+1),同理每个测试新样本也会输出一个5位的编码,通过测试编码与各个类别编码之间的距离,例如欧式距离,海明距离,选取距离最小的一个类别作为最终输出类别即可完成分类任务。

为什么说纠错输出码?一般来说ECOC在分类的时候因为有多位编码,存在一定的容错能力,如果训练类别与类别之间海明距离很大,那么即使测试样本在输出编码的时在某个或者某几个分类器输出的编码出错了,还是有可能能归到正确的类别中的。

不失一般性,ECOC编码越长,纠错能力越强,同时分类器的训练,存储开销也都会增大,同时ECOC编码也不可能无限长,因为类别的组合是有限的,超过一定范围后的编码是没有意义的。

类别不平衡问题

类别不平衡class-imbalance即是不同类样本数相差很大,导致学习效果不佳。举个很简单的例子,1000个样本,有998个是反例,2个是正例,那么一个对样本永远只预测为反例的学习器也能实现99.8%的正确率,但这种学习器显然是没有用的。
一个基本策略是再缩放rescaling。

在之前的比率回归问题上,正例和反例可能性相同,

而在类别不平衡的样本中,假设正例数目为m+,反例数目为m−(一般正例数目小于反例数目)。我们可设定学习器的决策条件为(预测几率>观测几率)
在实际操作中,再缩放却没那么容易,主要原因是**不一定能有效的基于训练集观测几率去推断真实几率。**因而往往有三类做法:

  1. 欠采样undersampling:去除一些反例数目,使得正例数目接近于反例数目,再进行学习。需要注意,若直接丢弃反例,可能会造成重要信息丢失,一种方法是利用集成学习机制,将反例划分为若干个集合供不同学习器使用,这样每个学习器就相当于欠采样,而全局看则没有丢失重要信息
  2. 过采样oversampling:增加正例数目,为防止过拟合,可对训练集正例进行插值产生额外正例,而不是直接重复采样初始正例样本
  3. 阈值移动threshold-moving:直接基于原训练集进行学习,但用训练好的分类器进行预测时,将

梯度下降法







习题

1.试分析在什么情况下,在以下式子中不比考虑偏置项b。

2.试证明,对于参数w,对率回归(logistics回归)的目标函数(式1)是非凸的,但其对数似然函数(式2)是凸的。
如果一个多元函数是凸的,那么它的Hessian矩阵是半正定的。
如果一个多元函数是凸的,那么它的Hessian矩阵是半正定的

  1. 编程实现对率回归,并给出西瓜数据集3.0α上的结果
    matlab:link.

4和5
链接: link.

  1. LDA仅在线性可分数据上能获得理想结果,试设计一个改进方法,使其能较好地用于非线性可分数据。
    在当前维度线性不可分,可以使用适当的映射方法,使其在更高一维上可分,典型的方法有KLDA,可以很好的划分数据。

7.令码长为9,类别数为4,试给出海明距离意义下理论最优的EOOC二元码并证明之。
对于ECOC二元码,当码长为2n时,至少可以使2n个类别达到最优间隔,他们的海明距离为2(n−1)。比如长度为8时,可以的序列为

1 1 1 1 -1 -1 -1 -1
1 1 -1 -1 1 1 -1 -1
1 -1 1 -1 1 -1 1 -1
-1 -1 -1 -1 1 1 1 1
-1 -1 1 1 -1 -1 1 1
-1 1 -1 1 -1 1 -1 1
其中4,5,6行是对1,2,3行的取反。若分类数为4,一共可能的分类器共有24−2种(排除了全1和全0),在码长为88的最优分类器后添加一列没有出现过的分类器,就是码长为99的最优分类器。

8.EOOC编码能起到理想纠错作用的重要条件是:在每一位编码上出错的概率相当且独立。试析多分类任务经ECOC编码后产生的二类分类器满足该条件的可能性及由此产生的影响。

理论上的ECOCECOC码能理想纠错的重要条件是每个码位出错的概率相当,因为如果某个码位的错误率很高,会导致这位始终保持相同的结果,不再有分类作用,这就相当于全00或者全 11的分类器,这点和NFL的前提很像。但由于事实的样本并不一定满足这些条件,所以书中提到了有多种问题依赖的ECOCECOC被提出。

9.使用OvR和MvM将多分类任务分解为二分类任务求解时,试述为何无需专门针对类别不平衡性进行处理。
书中提到,对于OvR,MvM来说,由于对每个类进行了相同的处理,其拆解出的二分类任务中类别不平衡的影响会相互抵消,因此通常不需要专门处理。以ECOC编码为例,每个生成的二分类器会将所有样本分成较为均衡的二类,使类别不平衡的影响减小。当然拆解后仍然可能出现明显的类别不平衡现象,比如一个超级大类和一群小类。

10.试推出多分类代价敏感学习(仅考虑基于类别的错误分类代价)使用“再缩放”能获得理论最优解的条件。

题目提到仅考虑类别分类的误分类代价,那么就默认正确分类的代价为0。
于是得到分类表,(假设为3类)
0 c12c12 c13c13
c21c21 0 c23c23
c31c31 c32c32 0
对于二分类而言,将样本为正例的后验概率设为是p,那么预测为正的代价是(1−p)∗c12(1−p)∗c12, 预测为负的代价是p∗c21p∗c21。
当(1−p)∗c12≤p∗c21(1−p)∗c12≤p∗c21样本会被预测成正例,因为他的代价更小。
当不等式取等号时,得到了最优划分,这个阀值pr=c12c12+c21pr=c12c12+c21,这表示正例与反例的划分比例应该是初始的c12c21c12c21倍。
假设分类器预设的阀值是popo,
不考虑代价敏感时,当y1−y>po1−poy1−y>po1−po时取正例。
当考虑代价敏感,则应该是y1−y>1−prpr∗po1−po=c21c12∗po1−poy1−y>1−prpr∗po1−po=c21c12∗po1−po。
推广到对于多分类,任意两类的最优再缩放系数tij=cij/cjitij=cij/cji ,然而所有类别的最优缩放系数并不一定能同时满足。当代价表满足下面条件时,能通过再缩放得到最优解。
设tij=wi/wjtij=wi/wj,则wi/wj=cij/cjiwi/wj=cij/cji对所有i,ji,j成立,假设有kk类,共C2kCk2个等式,此时代价表中k∗(k−1)k∗(k−1)个数,最少只要知道2∗(k−1)2∗(k−1)就能推出整张表。

《机器学习》周志华 --第3章 线性模型 思维导图+笔记+习题相关推荐

  1. 《机器学习》周志华第10章降维与度量学习 思维导图+笔记+习题

    K-Means与LVQ都试图以类簇中心作为原型指导聚类,其中K-Means通过EM算法不断迭代直至收敛,LVQ使用真实类标辅助聚类:高斯混合聚类采用高斯分布来描述类簇原型:密度聚类则是将一个核心对象所 ...

  2. 机器学习(周志华) 参考答案 第十四章 概率图模型 14.9

    机器学习(周志华西瓜书) 参考答案 总目录 http://blog.csdn.net/icefire_tyh/article/details/52064910 机器学习(周志华) 参考答案 第十四章 ...

  3. 机器学习 周志华 第一章课后习题

    机器学习 周志华 第一章课后习题 1.1 1.2 1.3 1.4 1.5 1.1 在下面这张图片中若只包含编号为1和4的两个样例,试给出相应的版本空间. 书上实例: 1.表 1.1 对应的假设空间如下 ...

  4. 机器学习 -- 《机器学习》(周志华) 第三章

    机器学习 – <机器学习>(周志华) 第三章 笔记 文章目录 机器学习 -- <机器学习>(周志华) 第三章 笔记 注 常用数学符号 正交回归 点距离线的距离是正交回归 线性回 ...

  5. 小吴的《机器学习 周志华》学习笔记 第二章 模型评估与选择

    小吴的<机器学习 周志华>学习笔记 第二章 模型评估与选择 上一周我们介绍了第一章的基础概念,这一次将带来第二章的前三节.后面的2.4 比较检验与2.5 偏差与方差,涉及概率论与数理统计概 ...

  6. 小吴的《机器学习 周志华》学习笔记 第一章 绪论

    小吴的<机器学习 周志华>学习笔记 第一章 绪论 近一年时间接触到不少机器学习的知识,虽然断断续续学了一些,总感觉还没有入门(只学会了疯狂调包).因此,最近开始系统学习Machine Le ...

  7. 小吴的《机器学习 周志华》学习笔记 第二章 2.4 比较检验、2.5 偏差与方差

    小吴的<机器学习 周志华>学习笔记 第二章 2.4 比较检验. 2.5 偏差与方差 2.4 比较检验 上一周提到了实验的评价方法和性能量度,步骤简单可以看成:先使用某种实验评估方法测得学习 ...

  8. 机器学习 周志华 课后习题3.5 线性判别分析LDA

    机器学习 周志华 课后习题3.5 线性判别分析LDA 照着书上敲了敲啥都不会,雀食折磨 python代码 # coding=UTF-8 from numpy import * # 我安装numpy的时 ...

  9. 初一数学下册第五章知识点思维导图

    今天小编给大家来分享初一下册数学(人教版)第五章的思维导图,初一数学知识点数量众多,第五章的很多知识点相似易混淆,增加了学习难度.如何制作简单漂亮的思维导图呢?树图网给大家分享高清版的初一下册数学第五 ...

最新文章

  1. Java事务(转载)
  2. 【操作系统】考研の处理机调度算法(看不懂你来打我~!)
  3. 发文越多,影响力会越大吗?
  4. linux下使用python3_Linux上python3的安装和使用
  5. JS 删除 cookie
  6. C++复习总结(涵盖所有C++基本考点)!
  7. [转]地图的色彩设计——艺术与技术共存
  8. windows 10
  9. 10. Browser 对象 - Location 对象(2)
  10. Java 类加载机制概述、类加载流程、自定义类加载器
  11. Win10 将 Bookmarks 的书签恢复到 Chrome
  12. 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第 几号的那位。
  13. 李智慧 - 架构师训练营 第四周
  14. 人工智能对人类的机遇与挑战
  15. 第八课:ShuffleNet v1、ShuffleNet v2学习
  16. Andersen Global与斯德哥尔摩律所合作,扩大瑞典业务版图
  17. 在mips64架构的国产系统中安装pyinstaller
  18. 在uniapp中使用element-ui组件
  19. vue run dev报错 缺少package.json文件、missing dev 命令 解决办法
  20. 微信小程序踩坑—用户登录界面

热门文章

  1. java语言与其他语言的区别是_浅谈Java语言和其他语言的区别
  2. 酷狗服务器显示失败怎么回事,酷狗音乐如何分享音乐失败怎么办 ?酷狗音乐分享音乐失败如何解决?...
  3. RXD and functions HDU-6061 NTT
  4. ElasticSearch(全文检索服务的安装和使用)
  5. javaweb的lib文件夹
  6. QUANT[2]:量化交易策略基本框架搭建
  7. Introduction to Programming I
  8. 区块链投资需要多少钱?不再是空谈
  9. LVGL8.2移植学习
  10. 1652:牡牛和牝牛