线性代数求解问题求解

该回答已被折叠 

折叠原因:需要詳细阐述

尝试写了下求法还不懂可以问我

二:问题转化为线性代数求解问題

为了解决问题添加方程

记向量,则上两式可以写作

要求只需知道,例如要求n=100时的数值

可以得到矩阵的两个特征值为,对应的变囮矩阵为A,则

发布了45 篇原创文章 · 获赞 38 · 访问量 7万+

数据挖掘的理论背后几乎离不開线性代数求解的计算,如矩阵乘法、矩阵分解、行列式求解等本文将基于numpy模块实现常规线性代数求解的求解问题, 需要注意的是 有┅些线性代数求解的运算并不是直接调用numpy模块,而是调用numpy的子模块linalg(线性代数求解的缩写)该子模块涵盖了线性代数求解所需的很多功能,本文将挑几个重要的例子加以说明

数据挖掘的理论背后,几乎离不开线性代数求解的计算如矩阵乘法、矩阵分解、行列式求解等。本文将基于numpy模块实现常规线性代数求解的求解问题 需要注意的是 ,有一些线性代数求解的运算并不是直接调用numpy模块而是调用numpy的子模塊linalg(线性代数求解的缩写)。该子模块涵盖了线性代数求解所需的很多功能本文将挑几个重要的例子加以说明。

为使读者有一个全局的概念下面罗列一些linalg子模块中有关线性代数求解的重要函数,以便读者快速查阅和灵活使用:

接下来我们基于上表中的函数,分享几个偅要的例子相信在不久的将来,当你研究数据挖掘的算法理论时可能会用到。

点积函数dot 使用在两个一维数组中,实际上是计算两个姠量的乘积返回一个标量;使用在两个二维数组中,即矩阵的乘法矩阵乘法要求第一个矩阵的列数等于第二个矩阵的行数,否则会报錯

取出矩阵的主对角线元素:

由一维数组构造的方阵:

如上结果所示,如果给 diag函数 传入的是二维数组则返回由主对角元素构成的一维數组;如果向diag函数传入一个一维数组,则返回方阵且方阵的主对角线就是一维数组的值,方阵的非主对角元素均为0

我们知道,假设A为n階方阵如果存在数λ和非零向量x,使得Ax=λx(x≠0)则称λ为A的特征根,x为特征根λ对应的特征向量。如果需要计算方阵的特征根和特征向量可以使用子模块linalg中的 eig函数 :

# 计算方阵的特征向量和特征根

计算3×3方阵的特征根和特征向量:

如上结果所示,特征根和特征向量的结果存储在元组中元组的第一个元素就是特征根,每个特征根对应的特征向量存储在元组的第二个元素中

多元线性回归模型一般用来预测連续的因变量,如根据天气状况预测游客数量、根据网站的活动页面预测支付转化率、根据城市人口的收入、教育水平、寿命等预测犯罪率等该模型可以写成Y=Xβ+ε,其中Y为因变量,X为自变量ε为误差项。要想根据已知的X来预测Y的话,必须得知道偏回归系数β的值,对于熟悉多元线性回归模型的读者来说,一定知道偏回归系数的求解方程即。

如上所示X数组中, 第一列全都是1 代表了这是线性回归模型中嘚 截距项, 剩下的三列代表自变量根据β的求解公式,得到模型的偏回归系数。从而可以将多元线性回归模型表示为。

在中学的时候就學过有关多元一次方程组的知识,例如《九章算术》中有一题是这样描述的:今有上禾三秉中禾二秉,下禾一秉实三十九斗;上禾二秉,中禾三秉下禾一秉,实三十四斗;上禾一秉中禾二秉,下禾三秉实二十六斗;问上、中、下禾实秉各几何?解答这个问题就需偠应用三元一次方程组该方程组可以表示为:

在线性代数求解中,这个方程组就可以表示成AX=bA代表等号左边数字构成的矩阵,X代表三个未知数b代表等号右边数字构成的向量。如需求解未知数X可以直接使用linalg 子模块中的solve函数 ,具体代码如下:

如上结果所示得到方程组x,yz的解分别是9.25,4.25和2.75

范数常常用来度量某个向量空间(或矩阵)中的每个向量的长度或大小,它具有三方面的约束条件分别是非负性、齊次性和三角不等性。最常用的范数就是p范数其公式可以表示成。关于范数的计算可以使用linalg 子模块中的 norm函数 ,举例如下:

如上结果所礻向量的无穷范数是指从向量中挑选出绝对值最大的元素。

本期的内容就介绍到这里如果你有任何问题,欢迎在公众号的留言区域表達你的疑问同时,也欢迎各位朋友继续转发与分享文中的内容让更多的人学习和进步。

我要回帖

更多关于 线性代数求解 的文章

 

随机推荐