线性代数|机器学习-P20鞍点和极值

文章目录

1 . 瑞利商的思考

1.1 瑞利商的定义

假设A是n阶实对称矩阵,x是n维非零列向量,那么瑞利商表示如下:
R ( A , x ) = x T A x x T x \begin{equation} R(A,x)=\frac{x^TAx}{x^Tx} \end{equation} R(A,x)=xTxxTAx

  • 在看到上面式子时候,感觉很奇怪,为什么瑞利商就能够计算出鞍点和极值点的位置?我发现瑞利商的形式就像投影公式样。。。

1.2 投影向量

假设我们有两个向量 x , a 1 x,a_1 x,a1,我们想求向量 a 1 a_1 a1在向量x方向上的投影向量 p 1 p_1 p1

在这里插入图片描述

  • ∣ p 1 ∣ |p_1| p1
    ∣ p 1 ∣ = ∣ a 1 ∣ cos ⁡ ( θ ) , x T a 1 = ∣ a 1 ∣ cos ⁡ ( θ ) ⋅ ∣ x ∣ → ∣ p 1 ∣ = x T a 1 ∣ x ∣ \begin{equation} |p_1|=|a_1|\cos(\theta),x^Ta_1=|a_1|\cos(\theta)\cdot|x|\rightarrow |p_1|=\frac{x^Ta_1}{|x|} \end{equation} p1=a1cos(θ),xTa1=a1cos(θ)xp1=xxTa1
  • p 1 p_1 p1的单位向量为:
    e 1 = x ∣ x ∣ \begin{equation} e_1=\frac{x}{|x|} \end{equation} e1=xx
  • p p p向量为:
    p 1 = ∣ p 1 ∣ ⋅ e 1 = x T a ∣ x ∣ x ∣ x ∣ = x T a 1 x x T x \begin{equation} p_1=|p_1|\cdot e_1=\frac{x^Ta}{|x|}\frac{x}{|x|}=\frac{x^Ta_1x}{x^Tx} \end{equation} p1=p1e1=xxTaxx=xTxxTa1x
  • 小结:
    当我们对一个向量 a 1 a_1 a1进行瑞利商时,得到了居然是这个向量 a 1 a_1 a1在给定 x 1 x_1 x1向量上的投影向量,我们发现投影向量中只需要知道 x x x向量的方向,跟 x x x的大小无关,这点很重要,
  • 转换:
    -那么我们有一个矩阵实对称A,它可以由如下组成:
    A = [ a 1 a 2 ⋯ a n ] \begin{equation} A=\begin{bmatrix}a_1&a_2&\cdots&a_n\end{bmatrix} \end{equation} A=[a1a2an]
  • 那么瑞利商可以表示为:
    R ( A , x ) = x T [ a 1 a 2 ⋯ a n ] x x T x = [ x T a 1 x x T x x T a 2 x x T x ⋯ x T a n x x T x ] \begin{equation} R(A,x)=\frac{x^T\begin{bmatrix}a_1&a_2&\cdots&a_n\end{bmatrix}x}{x^Tx}=\begin{bmatrix}\frac{x^Ta_1x}{x^Tx}&\frac{x^Ta_2x}{x^Tx}&\cdots&\frac{x^Ta_nx}{x^Tx}\end{bmatrix} \end{equation} R(A,x)=xTxxT[a1a2an]x=[xTxxTa1xxTxxTa2xxTxxTanx]
  • 小结 : 瑞利商表示的是实对称矩阵A在给定x向量的投影向量组合。这里x的大小不影响投影向量的值。所以为了后续计算,我们可以定义 x T x = 1 x^Tx=1 xTx=1,这样瑞利商问题可以变成如下:
    R ( A , x ) = x T A x x T x → R ( A , x ) = x T A x , s t : x T x = 1 \begin{equation} R(A,x)=\frac{x^TAx}{x^Tx}\rightarrow R(A,x)=x^TAx,st:x^Tx=1 \end{equation} R(A,x)=xTxxTAxR(A,x)=xTAx,st:xTx=1
  • 那么瑞利商的极值问题就变成了一个二次型 x T A x x^TAx xTAx在约束条件下的 x T x = 1 x^Tx=1 xTx=1的最优化问题。一般我们解决最优化问题,会引入拉格朗日乘子法:

2. 拉格朗日乘子法

我们的目标是要求实对称矩阵S的二次型 x T S x x^TSx xTSx x T x = 1 x^Tx=1 xTx=1的约束情况下的最优化问题:这里为了方便,一般用S来表示实对称矩阵来代替上面的A,不影响后续理解和计算。纯粹为了方便。
L ( S , λ ) = x T S x − λ ( x T x − 1 ) \begin{equation} L(S,\lambda)=x^TSx-\lambda(x^Tx-1) \end{equation} L(S,λ)=xTSxλ(xTx1)

  • 求偏导可得:
    ∂ L ( S , λ ) ∂ x = 2 S x − λ ⋅ 2 x = 0 → S x = λ x \begin{equation} \frac{\partial L(S,\lambda)}{\partial x}=2Sx-\lambda \cdot 2x=0\rightarrow Sx=\lambda x \end{equation} xL(S,λ)=2Sxλ2x=0Sx=λx
  • 说明了瑞利商的偏导数为0的值一定在矩阵S的特征值 λ \lambda λ上和其对应的特征向量x上。
    ∂ L ( S , λ ) ∂ λ = − x T x + 1 = 0 → x T x = 1 \begin{equation} \frac{\partial L(S,\lambda)}{\partial \lambda}=-x^Tx+1=0\rightarrow x^Tx=1 \end{equation} λL(S,λ)=xTx+1=0xTx=1
    本来都是约束条件。
  • 那问题就简单了,瑞利商的极值问题的点分别为特征值 λ 1 , λ 2 , ⋯ , λ n \lambda_1,\lambda_2,\cdots,\lambda_n λ1,λ2,,λn,其对应的特征向量 x 1 , x 2 , ⋯ , x n x_1,x_2,\cdots,x_n x1,x2,,xn
  • 那么我们代入到瑞利商原来式子中,可得极值特解方程,注意不是一般式:
    R ( S , x ) = x T S x x T x = x T λ x x T x = λ \begin{equation} R(S,x)=\frac{x^TSx}{x^Tx}=\frac{x^T\lambda x}{x^Tx}=\lambda \end{equation} R(S,x)=xTxxTSx=xTxxTλx=λ
  • 由于 λ n ≤ λ n − 1 ≤ ⋯ ≤ λ 2 ≤ λ 1 \lambda_n\le \lambda_{n-1}\le\cdots\le\lambda_2\le\lambda_1 λnλn1λ2λ1
    arg ⁡ m i n R ( S , x n ) = λ n ; arg ⁡ m a x R ( S , x 1 ) = λ 1 ; \begin{equation} \arg\limits_{min}R(S,x_n)=\lambda_n;\arg\limits_{max}R(S,x_1)=\lambda_1; \end{equation} minargR(S,xn)=λn;maxargR(S,x1)=λ1;
  • 那么其他的特征值 λ 2 , λ 3 , ⋯ , λ n − 1 \lambda_2,\lambda_3,\cdots,\lambda_{n-1} λ2,λ3,,λn1对应的就是鞍点!!!这样我们就可以通过瑞利商来快速的找到鞍点。

3. 鞍点

在深度学习中,我们希望快速的找到极值点,一般就对损失函数求一次偏导后得到所有的极值点,但是有一种鞍点,其偏导数也为0,但是它既不是极大值点,又不是极小值点,但它的一阶偏导为0,所以我们需要排除鞍点的干扰,。如图所示:
在这里插入图片描述

  • 鸡头法,先求最小值,再求最大值
    为了求得几何上的鞍点,我们需要先求最小值,在求最大值,数学表达式如下:
    λ = max ⁡ y min ⁡ x , z x T S x \begin{equation} \lambda=\max\limits_{y}\min\limits_{x,z}x^TSx \end{equation} λ=ymaxx,zminxTSx
    在这里插入图片描述

  • 凤尾法,先求最大值,再求最小值
    λ = min ⁡ x max ⁡ y , z x T S x \begin{equation} \lambda=\min\limits_{x}\max\limits_{y,z}x^TSx \end{equation} λ=xminy,zmaxxTSx
    在这里插入图片描述

  • 我们可以简单理解,鸡头不如凤尾,那么我们一般是使用鸡头法,这样求得的鞍点值更小。
    λ = max ⁡ y min ⁡ x , z x T S x \begin{equation} \lambda=\max\limits_{y}\min\limits_{x,z}x^TSx \end{equation} λ=ymaxx,zminxTSx

  • 我们就把一个鞍点问题转换成对偶问题,通过瑞利商和拉格朗日乘子法结合求得鞍点。

4. 线性拟合

4.1 范德蒙矩阵线性拟合

假设我们二维平面上有 6 个点,根据多项式拟合条件来说,6个点可以用一个五次方函数进行拟合。比如说我们平面上如果需要确定一条直线 ( y = k x + b ) (y=kx+b) (y=kx+b),一般需要两个点,确定一个抛物线 ( y = a x 2 + b x + c ) (y=ax^2+bx+c) (y=ax2+bx+c),一般需要三个点,所以6个点可以用
y = c 5 x 5 + c 4 x 4 + c 3 x 3 + c 2 x 2 + c 1 x + c 0 \begin{equation} y=c_5x^5+c_4x^4+c_3x^3+c_2x^2+c_1x+c_0 \end{equation} y=c5x5+c4x4+c3x3+c2x2+c1x+c0

  • 这里我们可以用范德蒙矩阵进行表示:
    A C = b \begin{equation} AC=b \end{equation} AC=b
  • A为范德蒙矩阵,C为相关系数。
    在这里插入图片描述

4.2 python 代码

  • jupyter 下运行
import numpy as np
import matplotlib.pyplot as plt# 生成6个随机点
np.random.seed(42)  # 固定随机种子以获得可重复的结果
x = np.random.rand(6)
y = np.random.rand(6)# 构造范德蒙矩阵
V = np.vander(x, increasing=True)# 求解系数向量
a = np.linalg.solve(V, y)# 生成用于绘制拟合曲线的x值
x_fit = np.linspace(0, 1, 100)
y_fit = np.polyval(a[::-1], x_fit)# 绘制原始点和拟合曲线
plt.scatter(x, y, color='red', label='Original Points')
plt.plot(x_fit, y_fit, color='blue', label='Fitted Polynomial')
plt.xlabel('x')
plt.ylabel('y')
plt.title('Vandermonde Matrix Polynomial Fitting')
plt.legend()
plt.grid(True)
plt.show()# 输出结果
print("随机生成的点:")
for xi, yi in zip(x, y):print(f"({xi:.4f}, {yi:.4f})")print("\n范德蒙矩阵:")
print(V)print("\n多项式系数:")
print(a)# 打印多项式表达式
poly_str = "P(x) = " + " + ".join([f"{a[i]:.4f}x^{i}" for i in range(len(a))])
print("\n多项式:")
print(poly_str.replace("x^0", "").replace(" + -", " - ").replace("x^1", "x"))
  • 结果:
    在这里插入图片描述
    在这里插入图片描述

4.3 范德蒙矩阵缺点

我们之前在P18快速奇异值那章节学过,范德蒙矩阵的缺点是其矩阵的逆的秩特别大,不好求,导致计算范德蒙矩阵的逆是巨复杂的。还有就是希尔伯特矩阵。

5. 均值和方差

5.1 样本均值和方差

假设我们有N个样本 x 1 , x 2 , ⋯ , x n x_1,x_2,\cdots,x_n x1,x2,,xn,那么样本 X ˉ \bar{X} Xˉ均值为
X ˉ = 1 N ( x 1 + x 2 + ⋯ + x n ) \begin{equation} \bar{X}=\frac{1}{N}(x_1+x_2+\cdots+x_n) \end{equation} Xˉ=N1(x1+x2++xn)

  • 那么样本方差 S 2 S^2 S2由公式可得:
    S 2 = 1 n − 1 ∑ i = 1 n ( x i − X ˉ ) \begin{equation} S^2=\frac{1}{n-1}\sum_{i=1}^n(x_i-\bar{X}) \end{equation} S2=n11i=1n(xiXˉ)

5.2 总体期望 μ \mu μ,总体方差 σ 2 \sigma^2 σ2

  • 总体期望
    假设有无穷个样本 x i x_i xi,每个样本对应的概率为 p i p_i pi,那么可得:
    ∑ i = 1 ∞ p i = 1 , μ = E ( x ) = ∑ i = 1 ∞ p i x i \begin{equation} \sum_{i=1}^{\infty}p_i=1,\mu=E(x)=\sum_{i=1}^{\infty}p_ix_i \end{equation} i=1pi=1,μ=E(x)=i=1pixi
  • 总体方差
    D ( X ) = E ( X 2 ) − [ E ( X ) ] 2 \begin{equation} D(X)=E(X^2)-[E(X)]^2 \end{equation} D(X)=E(X2)[E(X)]2
    σ 2 = ∑ i = 1 ∞ p i ( x i − μ ) 2 \begin{equation} \sigma^2=\sum_{i=1}^{\infty}p_i(x_i-\mu)^2 \end{equation} σ2=i=1pi(xiμ)2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/864220.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL学习(6):SQL语句之数据控制语言:DCL

DCL用来管理数据库用户,控制数据库的访问权限 1.管理用户 1.1查询用户 use mysql; select * from user; #用户信息都存放在系统数据库mysql的user表中 在user表中,一个用户是由用户名和主机名共同决定的,上图中的host一栏就是用户的主机名…

常用组件详解(二):torchsummary

文章目录 一、基本使用二、常见指标2.1Input size2.2Forward/backward pass size 一、基本使用 torchsummary库是一个好用的模型可视化工具,用于帮助开发者把握每个网络层级的细节,包括其中的连接和维度。使用方法: from torchsummary impor…

ubuntu 安装docker

目录 docker 打包与加载 加载 Docker 镜像: ubuntu 安装docker 系统版本 检查卸载老版本docker 安装步骤 运行docker docker 打包与加载 打包成 .tar 文件: tar -cvf my-docker-image.tar * 加载 Docker 镜像: docker load -i my-d…

Access Levels in Swift

Access Levels (访问级别) Swift provides six different access levels for entities(实体) within your code. These access levels are relative to the source file in which an entity is defined, the module(模块) that source file belongs to, and the package that …

分享一个超级实用的东西——巴比达远程访问

前言 🎈家人们,今天我要和你们分享一个超级实用的东西——巴比达远程访问!🎉 💻有了它,无论你身在何处,都能轻松访问家中的电脑💻,就像在身边一样方便!&…

短视频电商源码如何选择

在数字时代的浪潮下,短视频电商以其直观、生动、互动性强的特点,迅速崛起成为电商行业的一股新势力。对于有志于进军短视频电商领域的创业者来说,选择一款合适的短视频电商源码至关重要。本文将从多个角度探讨如何选择短视频电商源码&#xf…

携程礼品卡能转出去吗?

携程的卡好像只能在旅游的时候用 像买车票啊,机票啊,酒店,景点门票啥的,但是如果我没有出游计划的话 这个卡是不是就要被闲置下来? 这个问题一直让我感到很苦恼,还好有收卡云,不然我的携程卡…

模型部署:C++libtorch实现全连接模型10分类和卷积模型ResNet18的四分类的模型部署推理

Clibtorch实现模型部署推理 模型 全连接模型:公开mnist手写识别数字的十分类卷积模型:自行采集的鲜花四分类 部署 语言环境:C 对比Python python是解释性语言,效率很慢,安全性很低 系统开发一般是java、C/C&…

在 CentOS 上安装 Docker Engine

前言 Docker 是啥之类的就不必多说了,直接上安装步骤。 官网安装教程地址:https://docs.docker.com/engine/install/centos/ 1.Uninstall old versions (卸载旧版本) Older versions of Docker went by docker or docker-engin…

NLP特征提取的惊人历史演变

NLP特征提取的惊人演变 1.理解特征提取2. 文本表示的演变2.1.词袋的简单性2.2. N-Gram 模型的进步2.3. TF-IDF 的崛起 3. 深入研究词嵌入3.1.探索 Word2Vec3.2.深入了解 GloVe3.3.深入研究 FastText 4. 上下文嵌入的影响4.1 ELMo 的突破4.2 理解 BERT 的机制4.3 Transformer的出…

44 - 50题高级字符串函数 / 正则表达式 / 子句 - 高频 SQL 50 题基础版

目录 1. 相关知识点2.例子2.44 - 修复表中的名字2.45 - 患某种疾病的患者2.46 - 删除重复的电子邮箱2.47 - 第二高的薪水2.48 - 按日期分组销售产品2.49 - 列出指定时间段内所有的下单产品2.50 - 查找拥有有效邮箱的用户 1. 相关知识点 相关函数 函数含义concat()字符串拼接upp…

Ollama中文版部署

M1部署Ollama Ollama中文网站: Featured - 精选 - Ollama中文网 下载网址: Download Ollama on macOS 安装后运行llma3模型: ollama run llama3:8b 界面使用: GitHub - open-webui/open-webui: User-friendly WebUI for LLMs (Formerly Ollama WebUI) 部署open-webui: do…

烟台网站建设前需要了解哪些

在进行烟台网站建设之前,需要了解以下几个重要的方面: 1. 目标和定位:在建设网站之前,需要明确网站的目标和定位。是为了展示公司业务,还是为了销售产品,或者是为了提供信息和服务等。根据不同的目标和定位…

界面组件DevExpress WPF v24.1 - 增强的可访问性 UI自动化

DevExpress WPF拥有120个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 DevExpress WPF控件日…

mqtt介绍和环境安装

Mqtt介绍 MQTT是机器对机器(M2M)/物联网(IoT)连接协议。它被设计为一个极其轻量级的发布/订阅消息传输协议。对于需要较小代码占用空间和/或网络带宽非常宝贵的远程连接非常有用,是专为受限设备和低带宽、高延迟或不可靠的网络而设计。 下载一个开源的emqx服务器和…

造一个交互式3D火山数据可视化

本文由ScriptEcho平台提供技术支持 项目地址:传送门 使用 Plotly.js 创建交互式 3D 火山数据可视化 应用场景 本代码用于将火山数据库中的数据可视化,展示火山的高度、类型和状态。可用于地质学研究、教育和数据探索。 基本功能 该代码使用 Plotly…

【代码随想录——单调栈】

1.每日温度 func dailyTemperatures(temperatures []int) []int {stack : list.New()//入栈&#xff1a;stack.PushBack()//出栈&#xff1a;stack.Remove(stack.Back())dp : make([]int, len(temperatures))for i : 0; i < len(temperatures); i {if stack.Len() 0 {stack…

期末考试后,老师如何高效把成绩发给家长

期末考试终于结束了&#xff0c;老师们是不是感觉松了一口气呢&#xff1f;但是&#xff0c;成绩发布这个环节可不能马虎哦&#xff01;今天&#xff0c;我就来跟大家分享一下如何高效地把成绩发给家长&#xff0c;让这个环节变得既轻松又高效&#xff01; 先把最高效的方式告诉…

ROS2用c++开发参数节点通信

1.创建节点 cd chapt4/chapt4_ws/ ros2 pkg create example_parameters_rclcpp --build-type ament_cmake --dependencies rclcpp --destination-directory src --node-name parameters_basic --maintainer-name "joe" --maintainer-email "1027038527qq.com&…

网安小贴士(1)等级保护

一、定义 等保&#xff0c;即信息安全等级保护&#xff0c;根据信息系统在国家安全、经济建设、社会生活中的重要程度&#xff0c;以及信息系统遭到破坏后对国家安全、社会秩序、公共利益以及公民、法人和其他组织的合法权益的危害程度&#xff0c;将信息系统分为五个不同的安全…