回归补充(二)
发布日期:2021-07-03 20:40:36 浏览次数:1 分类:技术文章

本文共 3065 字,大约阅读时间需要 10 分钟。

回归补充(二)

文章目录

一. 线性回归的决定系数

线性回归的决定系数,也叫:可决系数,也称测定系数,英文名:coefficient of determination。这个是用来测定拟合程度的。这个值越高,说明拟合程度越高。

那么决定系数具体是什么呢?

我们假设有m个样本,他们分别是(x1, y1), (x2, y2), (x3, y3), ……, (xm, ym)。这几个样本的估计值是(x1,y1^), (x2, y2^), ……(xm, ym)(yi上面有个,在这里不知道该怎么打这个符号了)。那么这几个样本一定有一个总平方和TSS(Total Sum of Squares),公式如下:

在这里插入图片描述

然后我们计算残差平方和RSS(Residual Sum of Squares)

在这里插入图片描述

Note:RSS即误差平方和SSE(Sum of Squares for Error)

有了这两个,我们进一步得到了决定系数公式:

在这里插入图片描述

对于这个公式,有如下一些说明:

  • R ^2越大,拟合效果越好
  • R^2的最优值为1;若模型预测为随机值, R^2有可能为负
  • 若预测值恒为样本期望, R^2为0

由这几个样本值和样本估计值,我们还能得到另外一个东西:回归平方和SSR(Sum Of Squares for Regression)。有一些教材把他称为ESS(Explained Sum of Squares)。

在这里插入图片描述

TSS, ESS, RSS这三个有这样的数量关系:

在这里插入图片描述

如果正好估计值是无偏估计量,那么这个式子取等号。

二.局部加权线性回归

英文名:Locally Weighted linear Regression,简称LWR。我们假设有一个情况,如图所示:

在这里插入图片描述

这当中,黑色是样本点,红色是线性回归线,绿色是局部加权回归线。

我们可以看到,线性回归线和样本点实际值还是有差距的,于是就有人想,能不能通过在红色的回归线基础上加上一个权值,就能让回归线更加拟合于实际值呢?就像图中两个红点之间那个距离。这就是LWR的思想。

局部加权的关键,就是如何计算这个权值。其实这个权值有多个选择方式,比如说:高斯核函数如下所示:

在这里插入图片描述

其中,τ称为带宽,它控制着训练样本随着与x (i) 距离的衰减速率。

除了高斯核函数,多项式核函数也是一种方式:

在这里插入图片描述

采用了多项式核函数的局部加权线性回归,也叫:SVM

三.回归分类问题

在现实当中,你如果说你想纯粹用线性回归去解决分类问题,那么不建议这样。

原因:比如说,一个很简单的模型。肿瘤分为恶性和良性,可以根据肿瘤的尺寸来判断。但是,如果,有一些肿瘤却比较隔路子,哪怕尺寸比较小,他也是恶性的,而且,又远远小于均值,那么线性回归模型就会往这些尺寸比较小的模型倾斜

但是,这并不代表回归无法解决分类问题,典型的就是逻辑回归,与softmax回归

3.1 逻辑回归

这个之前有学习过(可以先看看这个文章:),但是有些东西得补充一下。

3.1.1 逻辑回归参数估计

我们知道,在机器学习当中,逻辑回归依托于Sigmoid函数(意思是:s形状的函数)

在这里插入图片描述

把线性回归方程带入当中,就得到了逻辑回归的公式:

在这里插入图片描述

我们知道,逻辑回归是用来处理二分类问题,所以我们就做如下假定:

在这里插入图片描述

则,上面两个式子进行合并,我们可以得到:

在这里插入图片描述

现在,我们开始进行极大似然估计:

在这里插入图片描述

在这里插入图片描述

求theta的极大似然估计,也就意味着对theta求偏导,求偏导也就意味着求梯度,求那个下降速度最快的方向

在这里插入图片描述

于是,逻辑回归的学习规则就出来了:以上这个值乘以一个学习率

在这里插入图片描述

如果我们把这个式子和线性回归当中的梯度下降进行比对,就会发现:逻辑回归的规则和线性回归竟然在形式上具有一致性,这是为什么呢?

我们回到这两个推导。线性回归用的是正态分布公式推导,而逻辑回归用的是二项分布公式进行推导。这两个都是指数级分布,都属于广义线性模型。包括泊松分布都是属于这个范畴。

3.1.2 对数线性模型

在解释这个事情之前,我们得明确一个概念:什么是事件的几率?一个事件的几率odds,是指该事件发生的概率与该事件不发生的概率的比值。

那么对数几率又是什么呢?这就涉及到一个logit函数。

如果我们对逻辑回归的相关东西做一个对数,会发现一个很有意思的现象:

在这里插入图片描述

即:经过对数几率处理之后,得到的竟然是线性回归的方程。

某些方面讲,这个可以反过来看待,我们搞二分类问题的时候,就是要把线性方程通过一个逻辑函数映射到一个新的映射上面,然后通过这个新的映射去进行二分类,如果我们只取这一部分

l o g p 1 − p = θ T x log\frac{p}{1-p} = \theta^Tx log1pp=θTx
我们取解这个方程,就会发现 p就是sigmoid函数的表达式。

3.1.3 逻辑回归的损失函数

逻辑回归的损失函数,有两种方式,一种是:当输出值是0或者1的时候。另一种是:输出值取-1或者1的时候。这两个结果不同,但是计算的原理都一样。

  • 当输出值取0或者1的时候:

    在这里插入图片描述

  • 当输出值取-1或者1的时候:

在这里插入图片描述

分类,还是要看逻辑回归和softmax回归

3.2 Softmax回归

逻辑回归用来解决二分类问题,那么这个Softmax回归就是用来解决多分类问题的。

Softmax是这样一个思路:假设有m个类别的样本,那么每一个类别都有一个属于自己的线性回归。

我们假设m个类别当中第k类的参数为theta(k),那么整体而言,在输入了样本x的情况下,这个第k类发生的概率是:

在这里插入图片描述

为什么是这个式子呢?其实这个是脱胎于逻辑回归的函数,如果我们把每一个类都看成一个独立的逻辑回归,那么就会得到下面这个矩阵:

在这里插入图片描述

其中那个分母,其实是做了归一化处理,为了使各个类别加起来的总概率是1,所以把分母那部分的1给去掉了。

然后,还是老套路,我们求似然函数,对数似然函数

在这里插入图片描述
在这里插入图片描述

然后我们对theta(k)求梯度:

在这里插入图片描述

这个就是softmax的损失函数

四.混淆矩阵与AUC

这个之前有所介绍(可以先看看这个文章:),但是需要做一些补充。

首先,我们已经知道混淆矩阵了,如下所示:

在这里插入图片描述

然后,我们引入TPR(True Positive rate), FPR(False Positive rate)的概念:

在这里插入图片描述

我们假设,我们有一组测试数据,经过测试之后得到了若干个预测结果,整体分布如下所示:

在这里插入图片描述

我们看到,FP,FN有一个竖线,那个竖线是theta的取值。竖线左边认为是阳性,竖线右侧认为是阴性。当theta比较大的时候,也就是趋近于1的时候,那么这两部分曲线都会位于theta阳性的一侧。那么TN为0(因为TN完全代表negtive,自然不应该在阳性的一侧),FN->0,TP为正, FP为负。那么带入到TPR和FPR的式子里面,TPR = 正/正,所以是1,FPR = 负/负, 也是1。

当theta取的很小,那么这两个曲线都在theta值的阴性一面,这个时候,TP,FP不可能取值,因此为0,但是FN和TN有值,代入到TPR, FPR里面。

如果,我们把fpr当做横轴,tpr当做纵轴,那么根据上面这个推断,我们能根据theta的位置变化,画出一个曲线,且这个曲线一定过(0,0)和(1,1)。这个曲线就是受试者工作特征曲线(Receiver Operating Characteristic,简称ROC)。曲线之下的面积,被称为Area Under Curve, 简称AUC。这个曲线下方的面积越大越好,越大就代表预测值越准确。

五.线性回归实现

详细见的第8部分

转载地址:https://blog.csdn.net/johnny_love_1968/article/details/116334051 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:决策树、随机森林补充(一)
下一篇:回归补充(一)

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年03月08日 00时44分32秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

linux查看wifi信号命令_linux – 获取WIFI信号强度 – 寻求最佳方式(IOCTL,iwlist(iw)等)... 2019-04-21
npm 不重启 全局安装后_解决修复npm安装全局模块权限的问题 2019-04-21
vs格式化json 不生效_vs code 格式化 json 配置 2019-04-21
go 字符串反序列化成对象数组_Fastjson 1.2.24反序列化漏洞深度分析 2019-04-21
onmessage websocket 收不到信息_WebSocket断开重连解决方案,心跳重连实践 2019-04-21
hibernate mysql 缓存_hibernate和mysql的缓存问题,没辙了! 2019-04-21
abp框架 mysql_ABP框架使用Mysql数据库 2019-04-21
mysql树形递归删除_使用递归删除树形结构的所有子节点(java和mysql实现) 2019-04-21
linux mysql 不能连接远程_linux mysql 远程连接 2019-04-21
mysql $lt_mongodb中比较级查询条件:($lt $lte $gt $gte)(大于、小于)、查找条件... 2019-04-21
install python_Install python on AIX 7 2019-04-21
jquery查找div下第一个input_jquery查找div元素第一个元素id 2019-04-21
如何修改手机屏幕显示的长宽比例_屏幕分辨率 尺寸 比例 长宽 如何计算 2019-04-21
mysql 的版本 命名规则_MySQL版本和命名规则 2019-04-21
no java stack_Java Stack contains()用法及代码示例 2019-04-21
java动态代码_Java Agent入门学习之动态修改代码 2019-04-21
python集合如何去除重复数据_Python 迭代删除重复项,集合删除重复项 2019-04-21
iview 自定义时间选择器组件_Vue.js中使用iView日期选择器并设置开始时间结束时间校验功能... 2019-04-21
java 验证码校验_JavaWeb验证码校验功能代码实例 2019-04-21
java多线程初学者指南_Java多线程初学者指南(4):线程的生命周期 2019-04-21