【机器学习中的矩阵求导】(七)矩阵向量化复习

简介: 1.1 迹函数相对于矩阵的梯度迹函数对矩阵求导:

一、几个梯度的栗子

1.1 迹函数相对于矩阵的梯度

迹函数对矩阵求导

image.png

1.2 行列式相对于矩阵的梯度

矩阵的行列式对矩阵求导:

image.png

二、实值函数相对于实向量的梯度

2.1 实值标量函数对向量的梯度

其实就是标量函数对向量的求导,在之前我们用过定义法求导:

寻找较复杂的实值函数求导更方便的方法,不是每次都先针对任意一个分量,再进行排列。

标量对向量求导的基本法则(PS:和我们以前标量对标量求导的法则类似):

常量对向量的求导结果为0

线性法则:如果f ff、g gg都是实值函数,c 1 c1c1、c 2 c2c2为常数,则:

image.png

以列向量为自变量的标量函数,其对于自变量的梯度仍然为一阶数相同的列向量

梯度的每个分量代表着函数在该分量方向上的变化率。

2.2 实值向量函数对向量的梯度

即向量对向量求导。

(1)先回顾之前的定义法:

y = A x \mathbf{y} = \mathbf{A} \mathbf{x}y=Ax是向量。

A \mathbf{A}A为n×m矩阵

x \mathbf{x}x为m维向量;y \mathbf{y}y为n维向量

先分别求【矩阵的第 i ii 行和向量的内积】对向量的第 j jj 分量求导,定义法:

image.png

  • 向量函数对于向量的求导,相当于向量函数中的每一个分量函数对向量求导。
  • 行向量函数对列向量自变量求导形成矩阵;
  • 列向量函数对行向量自变量求导也可以形成矩阵。

2.3 简单练习

image.png

三、矩阵向量化vec

3.1 向量化定义image.png

四、Python实现Kronecker积等

可以参考numpy的官方文档。

from numpy import dot,cross,kron
# cross ref:https://docs.scipy.org/doc/numpy/reference/generated/numpy.cross.html#numpy.cross
# dot,kron ref:https://docs.scipy.org/doc/numpy/reference/routines.linalg.html
from scipy.linalg import hadamard
# hadamard ref:https://docs.scipy.org/doc/scipy/reference/generated/scipy.linalg.hadamard.html#scipy.linalg.hadamard

这里举个求Kronecker积和向量的外积的栗子:

import numpy as np
a = np.array([[1], [2]])
b = np.array([[3], [4]])
kron1 = np.kron(a, b)
outer = np.outer(a, b)
kron2 = np.kron(a, b.T)

结果如下,可以发现Kronecker积结果是,a的1乘b向量,a的2乘b向量,然后两个向量拼接起来。并且如果a向量和b向量的转置进行Kronecker积,其结果和a和b做向量外积outer结果相同。

复习:K=kron(A,B),获得 A 和 B 的 Kronecker 张量积。如果 A 是 m×n 矩阵,而 B 是 p×q 矩阵,则 kron(A,B) 是通过获取 A 元素与矩阵 B 元素之间的所有可能积而形成的一个 mp×nq 矩阵。

image.png

【外积】即两个向量的向量积,即两个向量的组成的平面的法向量。

符号表示:a× b

向量积的大小:|a|·|b|·sin<a,b>.

栗子:(x1,y1,z1)×(x2,y2,z2)=(y1z2-y2z1,z1x2-z2x1,x1y2-x2y1)

image.png

相关文章
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
【Python机器学习】文本特征提取及文本向量化讲解和实战(图文解释 附源码)
【Python机器学习】文本特征提取及文本向量化讲解和实战(图文解释 附源码)
372 0
|
5月前
|
机器学习/深度学习 搜索推荐 算法
【阿旭机器学习实战】【37】电影推荐系统---基于矩阵分解
【阿旭机器学习实战】【37】电影推荐系统---基于矩阵分解
|
6月前
|
机器学习/深度学习 Python
【Python 机器学习专栏】混淆矩阵与 ROC 曲线分析
【4月更文挑战第30天】本文介绍了机器学习中评估模型性能的两种工具——混淆矩阵和ROC曲线。混淆矩阵显示了模型在不同类别上的预测情况,包括真正例、假正例、真反例和假反例,帮助评估模型错误类型和数量。ROC曲线则通过假正率和真正率展示了模型的二分类性能,曲线越接近左上角,性能越好。文章还提供了Python中计算混淆矩阵和ROC曲线的代码示例,强调它们在模型选择、参数调整和理解模型行为中的应用价值。
190 0
|
6月前
|
机器学习/深度学习 搜索推荐 算法
python机器学习:推荐系统实现(以矩阵分解来协同过滤)
python机器学习:推荐系统实现(以矩阵分解来协同过滤)
|
6月前
|
机器学习/深度学习 JavaScript Python
GEE机器学习——混淆矩阵Classifier.confusionMatrix()和errorMatrix()和exlain()的用法(js和python代码)
GEE机器学习——混淆矩阵Classifier.confusionMatrix()和errorMatrix()和exlain()的用法(js和python代码)
168 0
|
6月前
|
机器学习/深度学习 人工智能 算法
【人工智能】<吴恩达-机器学习>批量梯度下降&矩阵和向量运算概述
【1月更文挑战第26天】【人工智能】<吴恩达-机器学习>批量梯度下降&矩阵和向量运算概述
|
机器学习/深度学习 监控 PyTorch
机器学习 - 混淆矩阵:技术与实战全方位解析
机器学习 - 混淆矩阵:技术与实战全方位解析
426 0
|
机器学习/深度学习
【吴恩达机器学习笔记】三、矩阵
【吴恩达机器学习笔记】三、矩阵
79 0
|
6月前
|
机器学习/深度学习 存储 搜索推荐
利用机器学习算法改善电商推荐系统的效率
电商行业日益竞争激烈,提升用户体验成为关键。本文将探讨如何利用机器学习算法优化电商推荐系统,通过分析用户行为数据和商品信息,实现个性化推荐,从而提高推荐效率和准确性。
233 14
|
6月前
|
机器学习/深度学习 算法 搜索推荐
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)

热门文章

最新文章