Python矩阵基本运算与梯度下降法

Python矩阵基本运算

(一)python矩阵操作

  1. 先引入numpy,以后的教程中,我们都引用为np作为简写
  2. 使用mat函数创建一个2X3矩阵
import numpy as np
a = np.mat([[1, 2, 3], [4, 5, 6]])
a

在这里插入图片描述
3. 使用shape可以获取矩阵的大小
在这里插入图片描述
4. 使用下标读取矩阵中的元素
在这里插入图片描述
.5. 进行行列转换:

a.transpose()

在这里插入图片描述

(二)python矩阵乘法

  1. 使用二维数组创建两个矩阵A和B
A = np.array([[1, 2, 3], [4, 5, 6]])
B = A.T

在这里插入图片描述
2. 先来一个矩阵的数乘,其实见识矩阵的每一个元素乘以该数

2 * A
2 * B

在这里插入图片描述
3. dot函数用于矩阵乘法,对于二维数组,它计算的是矩阵乘积,对于一维数组,它计算的是内积。注意交换矩阵的前后位置会导致不同的结果,看下面的例子
在这里插入图片描述
4. 再创建一个二维数组

C = np.array([[1, 2], [1, 3]])
  1. 我们验证一个矩阵乘法的结合性 (AB)C=A(BC)
    在这里插入图片描述

  2. 接着看一下对加法的分配性 (A+B)C=AC+BC,C(A+B)=CA+CB在这里插入图片描述

  3. 数乘的结合性,也一样啦

  4. 接着我们用到一个新知识,使用eye创建一个单位矩阵,单位矩阵的定义就是看下面的步骤

    1. 我们看一下,一个矩阵A乘以一个单位矩阵,还是它本身

在这里插入图片描述

(三)python矩阵转置

在这里插入图片描述

(四)python求方阵的迹

方阵的迹就是主对角元素之和
创建方阵

import numpy as np
E = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
E

用trace计算方阵的迹

np.trace(E)

方阵的迹等于方阵的转置的迹

np.trace(E.T)

再创建一个方阵F

F = E - 2

方阵的乘积的迹

np.trace(np.dot(E, F))

验证一下方阵的和的迹等于方阵的迹的和

np.trace(E) + np.trace(F)
np.trace(E + F)

在这里插入图片描述

(五)python方阵的行列式计算方法

如何计算方阵的行列式,用到的是numpy模块的linalg.det方法

  1. 行列式的算法:
    在这里插入图片描述
    在这里插入图片描述
    创建两个方阵,使用det方法求得方阵E1和方阵F1的行列式
E1 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
F1 = np.array([[1, 2], [1, 3]])
np.linalg.det(E1)
np.linalg.det(F1)

在这里插入图片描述

(六)python求逆矩阵/伴随矩阵

设A是数域上的一个n阶方阵,若在相同数域上存在另一个n阶矩阵B,使得: AB=BA=E。 则我们称B是A的逆矩阵,而A则被称为可逆矩阵。当矩阵A的行列式|A|不等于0时才存在可逆矩阵。
在这里插入图片描述

A = np.array([[1, -2, 1], [0, 2, -1], [1, 1, -2]])
A_abs = np.linalg.det(A)
B = np.linalg.inv(A)
A_bansui = B * A_abs

在这里插入图片描述

(七)python解多元一次方程

  1. 首先看一下我们要解的方程,将这个方程格式调整好,按照x-y-z-常数项的顺序排列
    在这里插入图片描述
  2. 将未知数的系数写下来,排列成一个矩阵a
  3. 常数项构成一个一维数组b
  4. 使用linalg.solve方法解方程,参数a指的是系数矩阵,参数b指的是常数项矩阵
  5. 我们得到的解对不对呢?使用点乘的方法可以验证一下,系数乘以未知数可以得到常数项。
a = [[1, 2, 1], [2, -1, 3], [3, 1, 2]]
a = np.array(a)
b = [7, 7, 18]
b = np.array(b)
x = np.linalg.solve(a, b)
np.dot(a, x)

在这里插入图片描述

梯度下降法

参考资料:

【官方双语】深度学习之梯度下降法 Part 2 ver 0.9 beta
深入浅出–梯度下降法及其实现
机器学习算法:梯度下降法——原理篇

概念

梯度

可以理解为由函数各个变量的导数组成的向量
某点的梯度也即函数在某点上升最快的方向
其对应各个变量的值,就是其对应变量在在此处与函数上升的相关程度
在这里插入图片描述

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

梯度相关法则

在这里插入图片描述

梯度下降法

由梯度的定义可知,函数在某点的梯度就是函数在这点上升最快的方向
那么,与之相反
对梯度取负便是在此点下降最快的方向
这就是梯度下降法的核心思想

在这里插入图片描述

梯度下降手工求解

Excel求解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值