【机器学习-西瓜书】第3章-线性模型

2023-10-30

3.1 基本形式

示例x由 d个属性描述,x_{i} = (x_{i1},x_{i2}, ..., x_{id})

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

f(x) = w_{1}x_{1}+w_{2}x_{2}+ ... + w_{d}x_{d} + b \\ f(x)=w\top x + b,\ w=(w_{1}, w_{2}, ..., w_{d})

3.2 线性回归

3.2.1 一元线性回归:for regression

给定数据集 D=\{(x_{1}, y_{1}), (x_{2}, y_{2}), ..., (x_{m}, y_{m})\}

先考虑最简单的情形:输入只有一个属性,此时线性回归试图学得: f(x_{i}) = wx_{i} + b

 使得f(x_{i })\approx y_{i}

如何确定w和b?=> 让均方误差最小化,即

\left ( w^{\ast } , b^{\ast }\right ) = arg\ min_{\left ( w,b \right )}\sum_{i=1}^{m}\left ( f\left ( x_{i} \right )-y_{i} \right )^{2}\\=arg \min_{\left ( w,b \right )}\sum_{i=1}^{m}\left ( y_{i} - wx_{i}-b \right )^{2}

基于均方误差最小化进行模型求解的方法,称为“最小二乘法 (Least Square Method)”。即找到一条直线,是所有样本导致线上的欧式距离之和最小。

最小二乘“参数估计 (parameter estimation)”:求解w和b使得下式最小化的过程。

E(w, b)= \sum_{i=1}^{m}\left ( y_{i} -wx_{i}-b\right )^{2}\\ \frac{\partial E\left ( w,b \right )}{\partial w} = 2\left ( w\sum_{i=1}^{m} x_{i}^{2} - \sum_{i=1}^{m}\left ( y_{i}-b \right )x_{i}\right ),\ \ \ \left ( 3.5 \right ) \\ \frac{\partial E\left ( w,b \right )}{\partial b} = 2\left [ mb-\sum_{i=1}^{m}\left ( y_{i} - wx_{i} \right ) \right ], \ \ \ \left ( 3.6 \right )

E(w,b)是关于w和b的凸函数,当关于w和b的导数均为零时得到w和b的最优解。U型曲线的函数通常是凸函数。对于实数集上的函数,凹凸性可通过求解二阶导数进行判断:当二阶导数在区间上≥0,则是凸函数;若二阶导数在区间上恒>0,则称为严格凸函数。

令公式(3.5), (3.6)为零,得到w和b最优解的闭式解(closed-form solution):

w = \frac{\sum_{i=1}^{m}y_{i}\left ( x_{i} -\bar{x}\right )}{\sum_{i=1}^{m}x_{i}^{2}-\frac{1}{m}\left ( \sum_{i=1}^{m} x_{i}\right )^{2}}\\ b=\frac{1}{m}\sum_{i=1}^{m}\left ( y_{i} -wx_{i}\right )

3.2.2 多元线性回归 (multivariate linear regression):for regresion

f\left ( x_{i} \right )= w^{T}x_{i} + b, 使得 f\left ( x_{i} \right ) \simeq y_{i}.

 此时,对应于一元线性回归模型的E(w,b),有

\hat{w}^{\ast }=arg\min_{\hat{w}}\left ( y-X\hat{w} \right )^{T}\left ( y-X\hat{w} \right ), \ \ \(3.9)

\hat{w}求导,并令求导结果为零,得到\hat{w}最优解的闭式解:

\frac{\partial E_{\hat{w}}}{\partial \hat{w}}= 2X^{T}\left ( X\hat{w} - y \right ), \ \ \ (3.10)

X^{T}X为满秩矩阵 (full-rank matrix) 或正定矩阵(positive definite matrix)时,令式 (3.10)为零,可得到:

\hat{w}^{\ast } = \left ( X^{T}X \right )^{-1}X^{T}y

 现实任务中,X^{T}X往往不是满秩矩阵,即任务中存在大量的变量,其数目超过样例数,导致X的列数多于行数,此时,可以求得\hat{w}的多个解,均能使 MSE 最小化。

此时,选择哪一个作为最优解,通常由学习算法的归纳偏好 (inductive bias)决定,常见做法是引入正则化 (regularization).

令模型预测值逼近y的衍生物:假设我们认为示例所对应的输出标记是在 指数尺度上变化,则 可将输出标记的对数作为线性回归拟合的目标,称为对数线性回归 (log-linear regression)”,如下:

ln\ y = w^{T}x + b

实际上等价于 e^{w^{T}x + b} \simeq y,此时,虽然表面上看,这仍是线性回归,但实质上 是在求解输入空间到输出空间的非线性映射,如下图所示:

3.3 对数几率回归:for classification

从回归到分类:找到一个单调可微函数,将分类任务的真实标记y 与 线性回归模型的预测值联系起来,也就是说,找到一个函数,可以将实数值 转换为 0/1 值。

从单位阶跃函数 (unit-step function) 到 对数几率函数 (logistic function):

红色为unit-step function;黑色为logistic function

对数几率函数是一种“Sigmoid函数”,将实数值z转换为一个接近0或1的y值,且在z=0附近变化很大。当作为分类任务的目标函数时,在进行反向传播进行求偏导时,z=0附近可能出现梯度消失

y=\frac{1}{1+e^{-\left ( w^{T}x+b \right )}}, \ \ \left ( 3.18 \right )两边同时取log,得到ln \ \frac{y}{1-y} = w^{T}x + b,\ \ \left ( 3.19 \right )实质上是 让线性回归的预测结果逼近真是标记的对数几率 (logit).

将y是为样本x作为正例的可能性,则1-y是其作为反例的可能性。\frac{y}{1-y} 称为 “几率 (odds)”,反映了 x作为正例的相对可能性。而取log后称为“对数几率 (log odds==logit)”,即ln \ \frac{y}{1-y}

 虽然名字是“回归”,但实际上是一种分类学习方法。其优点有:

1. 直接对分类可能性建模,不需要事先假设数据分布,避免了假设分布不准确带来的问题;

2. 不是仅仅预测出“类别”,而是 给出了近似概率。

3. logistic function是任意阶可导的凸函数,易于求导得到最优解

重写式 (3.19)后,得到

ln \ \frac{p(y=1|x)}{p\left ( y=0|x \right )} = w^{T}x + b, \ \ \ (3.22)\\ p\left ( y=1|x \right ) = \frac{e^{w^{T}x+b}}{1+e^{w^{T}x+b}}, \\ p\left ( y=0|x \right ) = \frac{1}{1+e^{w^{T}x+b}}

使用极大似然估计 (Maximum likelihood method)来估计w和b。对数似然为:

l\left ( w,b \right ) = \sum_{i=1}^{m}ln\ p\left ( y_{i} | x_{i};\ w, b\right ), \ \ \ \left ( 3.25 \right )\\ p\left ( y_{i} |x_{i};\ w,b\right )=y_{i}p\left ( xi ; w,b \right ) + \left ( 1-y_{i} \right )\left ( 1- p\left ( xi ; w,b \right ) \right ), \ \ \ \left ( 3.26 \right )

令每个样本属于其真实标记的概率越大越好。将3.25 带入3.26中,且最大化3.25等价于最小化以下负对数似然:

l\left ( w,b \right )=- \sum_{i=1}^{m}[\left ( y_{i}ln \ p\left ( y_{i}|x_{i;w,b} \right )+ \left ( 1-y_{i} \right ) ln\ \left ( 1- \ p\left ( y_{i}|x_{i;w,b} \right )\right )\right )]

3.4 线性判别分析 (Linear Discriminant Analysis)

在二分类问题上,亦称为“Fisher判别分析”。

training时,给定训练样例集,设法将样例投影到一条直线上,以使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离;test时,给定新样本,将其投影到该条直线上,根据投影点位置,确定新样本类别。如下为二维示意图:

给定数据集D=\{(x_{i}, y_{i})\}_{i=1}^{m},\ y_{i}\in \left \{ 0,1 \right \}, 令X_{i}, \mu _{i}, \Sigma _{i} 分别表示第i\in \left \{ 0,1 \right \}类示例的集合、均值向量、协方差矩阵。

将数据投影到直线w上时,两类样本的中心在直线上的投影分别为 w^{T}\mu _{0}, \ w^{T}\mu _{1} (均为实数)

当将所有样本点都投影到直线上时,此时两类样本的协方差分别为 w^{T}\Sigma _{0}w, \ w^{T}\Sigma _{1}w (均为实数)

让同类样例投影点的协方差尽可能小,以使同类样例的投影点尽可能接近,即 令w^{T}\Sigma _{0}w\ + \ w^{T}\Sigma _{1}w 尽可能小

让类中心之间的距离尽可能大,以使 异类样例的投影点尽可能远离,即令 ||w^{T}\mu _{0}\ - w^{T}\mu _{1}||_{2}^{2}尽可能大。同时考虑两者,则得到以下LDA最大化目标:

J = \frac{||w^{T}\mu _{0}\ - w^{T}\mu _{1}||_{2}^{2}}{w^{T}\Sigma _{0}w\ + \ w^{T}\Sigma _{1}w}\\ =\frac{w^{T}(\mu _{0}-\mu _{1})(\mu _{0}-\mu _{1})^{T}w}{w^{T}(\Sigma _{0} + \Sigma _{1})w}

类内散度矩阵 (within-class scatter matrix):

 

类间散度矩阵 (between-class scatter matrix):

 如何确定w?

令上述LDA 最大化目标J 的分母为1,则等价于

min_{w}\ \ -w^{T}S_{b}w\\ \ \ \ \ \ \ \ \ \ \\ s.t. \ \ \ w^{T}S_{w}w=1 \ \ \ \ \ \ (3.36)

使用拉格朗日乘子,上式(3.36)等价于

3.5 多分类学习

3.6 类别不平衡问题

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【机器学习-西瓜书】第3章-线性模型 的相关文章

随机推荐

  • Unity:异步加载场景资源进度界面

    创建加载界面LoadingScene 用于处理加载进度条 导入NGUI资源包 在Unity3D菜单栏中选中NGUI Open Prefab Toolbar 在Prefab Toolbar窗口中 选中Control Colored Progr
  • 部分选主元 LU 分解,CGETRF in lapack 选主元时调用 ICAMAX

    ICAMAX finds the index of the first element having maximum Re Im 也就是找出一列 complex 类型的数据中 实部的绝对值 虚部的绝对值 最大的那个元素 这样选出来的主元也还
  • 学习记录——关UNet、特征图add、cat、相乘、三个 注意力

    关于UNet网络 这部分有利于将下采样的各个阶段的信息在上采样过程中进行整合 就是在上采样的过程中 结合了各个层次的结构信息 通俗的来讲就是在网络的高层 就是U型的上部分 获取了图形的细节信息 因为这时候图片很大 很多细节可以得以保留 在网
  • Selenium系列教程 - AutoIt命令行参数

    主要内容 一 AutoIt下载安装 二 AutoIt使用 1 识别控件 2 编写脚本 3 生成exe程序 三 通过命令行执行 四 通过Python用os模块调用 Selenium对网页进行UI自动化时经常会遇到Windows弹框 比如上传
  • 元素水平垂直居中的六种方法

    让某个元素在水平和垂直的方向都居中 内容不限于文字 可能会是图片和其他元素 方法一 定位 margin负值
  • 智慧城市

    智慧城市 目录 智慧城市 1 产生背景 2 发展历程 3 建设意义 4 国际实践 5 数字城市 6 现状 7 我国规模 8 应用体系 9 应用项目 10 体验馆 11 智慧城市体验馆 12 4G助力 13 信息技术在智慧城市建设中的应用 1
  • atomicops.h

    https git project hobbit eu dj16 ricec blob c9d3dceb1c3b1c03a42077e0461e3ce5a2615a51 data atomicops h L248 2013 2016 Cam
  • Postgresql 快速实现 表数据备份与恢复

    背景 在大批量数据备份 或迁移时 如果使用客户端则效率低耗时长 推荐使用服务器执行命令速度快 一 备份表 1 这里使用的是Linux服务器 首先进入安装当前数据库的服务器 可以在home目录下新建一个文件夹 2 输入命令 pg dump t
  • 99款高质量免费HTML/CSS模板(看到了还行,推荐给大家)

    大家都清楚一个网站象征着你和你的品牌 这取决于你如何构建自己的网站 正因为Wordpress越来越受到互联网设计群体的关注 它并不代表最基本的 X HTML CSS很丑 很杂乱和单调 向大家推荐99个高质量的免费 X HTML CSS模板
  • 【错误】kex_exchange_identification: Connection closed by remote hos

    文章目录 错误描述 解决方法 错误描述 在 git push 的时候出现了下面这个错误 kex exchange identification Connection closed by remote host Connection clos
  • C#实现海康威视摄像头的控制

    C 实现海康威视摄像头控制 海康威视网络摄像头SDK开发示例 C C Java Python等
  • (android 地图开发) 高德地图添加浮动按钮

    问题描述 在地图上添加一个按钮 可以响应点击 但是按钮时固定的 地图拖动时 按钮不能动 解决思路 刚开始接触地图开发时 也曾经在这个问题上纠结过 刚刚学会了在地图上添加各种图层 无论是在地图上画大头针也好 绘制路线也好 都是使用图层来处理
  • c++临时对象与空指针导致clion debugger无法运行的bug

    c 临时对象与空指针导致clion debugger无法运行的bug include
  • Linux下安装Tomcat,部署web项目

    一个Linux下运行两个Tomcat的通用做法 一 准备 Tomcat的Linux版本安装包 apache tomcat 7 0 85 tar gz 项目的war包 henNB war eclipse导出为war或者idea build w
  • SQL注入之堆叠注入(sql-lab第38关)

    什么是堆叠注入 在SQL中 分号 是用来表示一条SQL语句结束的 试想一下我们在分号结束一个SQL语句后继续构造下一条语句 会不会一起执行 因此这个想法也就造就了堆叠注入 而堆叠注入可以执行的是任意语句 增删改查 例如以下这个例子 用户输入
  • IDEA启动tomcat控制台中文乱码问题

    项目结构 pom xml
  • osg fbo(一),生成颜色缓冲区图片

    由于工作需要 重新捡了下shader 很明显 fbo是重中之重 好记性不如烂笔头 先记录下 1 生成一个颜色纹理 为了省事 可以将纹理宽高 屏幕宽高 osg ref ptr
  • android10编译 lunch失败,Android各种编译错误的解决方案

    相信大家在编译固件的时候 经常会遇到莫名奇妙的编译错误 从今往后 不用再受这个问题的困扰了 1 常见编译的错误信息 make 1 No rule to make target out target common obj PACKAGING
  • 机器学习---算法基础(十一)贝叶斯网络

    参考文章 频率学派还是贝叶斯学派 聊一聊机器学习中的MLE和MAP 贝叶斯网络 看完这篇我终于理解了 附代码 概率图模型之贝叶斯网络 背景 边缘分布 条件分布 边缘分布 对于单个因素所发生的概率 不考虑其他因素 例如P A 条件分布 在某个
  • 【机器学习-西瓜书】第3章-线性模型

    3 1 基本形式 示例x由 d个属性描述 线性模型 试图学得一个通过属性的线性组合来进行预测的函数 即 3 2 线性回归 3 2 1 一元线性回归 for regression 给定数据集 先考虑最简单的情形 输入只有一个属性 此时线性回归