跟我一起玩儿转Python之机器学习基础矩阵实战

liftword2个月前 (02-24)技术文章29

高等数学里的矩阵是AI领域重要的数学基础之一,掌握矩阵的知识对于理解和应用AI技术非常重要。矩阵在数学上是一种矩形排列的数值表格,通俗来讲它就是一个矩形的数字数组。矩阵通常用大写加粗的字母表示,如:A。矩阵里的每一个数字都被称为矩阵的元素

矩阵具有行和列,行是矩阵的横坐标,列是矩阵的纵坐标。矩阵的大小通常记为 m×n,其中 m 是矩阵的行数,n 是矩阵的列数。

A = |10 9 81|

|8 3 41|

这个矩阵 A 就是一个 2×3 的矩阵,有2行3列,总共包含6个元素

矩阵有很多独特的运算性质和应用,主要有:

矩阵加法:对应位置的元素相加

矩阵减法:对应位置的元素相减

矩阵乘法:行向量和列向量对应相乘,并求和

矩阵转置:行列互换

逆矩阵:一个矩阵的乘积为单位矩阵的矩阵

矩阵还有很多重要的性质和定理,例如:矩阵的秩、行列式、特征值、特征向量等。这些性质和定理不仅在理论上有重要意义,而且在AI实际应用中也有很大的作用

在AI领域,矩阵运算被广泛应用于机器学习、深度学习等领域。AI中的许多算法和模型,如线性回归、逻辑回归、神经网络等,也需要用到矩阵运算。例如:

1)在机器学习中的主成分分析(PCA)就是通过计算协方差矩阵的特征向量和特征值来实现数据降维的;

2)在神经网络中,矩阵的乘法可以用于前向传播,而逆矩阵可以用于反向传播。

3)AI数据处理和特征提取中通过矩阵的转置和正则化等技术实现。

此外,在机器学习和深度学习中,矩阵还可以表示图像、文本等数据,通过对数据的矩阵运算和处理,可以实现图像识别、自然语言处理等任务。

纸上得来终觉浅,下面通过Python来实现矩阵运算:

import tensorflow as tf

import numpy as np
sess = tf.InteractiveSession()
#单位矩阵
t1 = tf.ones([10,3],tf.float32)
#正态分布标准矩阵
t2=tf.random_normal([3,3])
#0矩阵
t3 = tf.zeros([5,3],tf.float32)
#单位矩阵
t = tf.constant([[[1, 1, 1], [2, 2, 2]], [[3, 3, 3], [4, 4, 4]]])
print("shap3={},eval=\n{}".format(t1.shape, t1.eval()))

#矩阵的秩
print(tf.rank(t3).eval())

#矩阵的点积,对应元素相乘

a = tf.constant([[1,2],[3,4]])

b = tf.constant([[0,0],[1,0]])

c0=tf.multiply(a, b)

c1 = a*b

print(c1)

#注意结果

[[0,0]

[3,0]]

#矩阵的乘法行(向量和列向量对应相乘并求和)

#这里容易把矩阵的*和矩阵乘法混淆

c2 = a*b

c3=tf.matmul(a, b)

print(c3)

#我们期望的结果

[[2,0]

[4,0]]
sess.close()

相关文章

Python矩阵操作详解

Python 处理矩阵的方式有很多,其中最常用的库是 NumPy,它提供了高效的矩阵运算和操作能力。此外,pandas、SciPy 和 TensorFlow 等库也支持矩阵运算。下面介绍一下矩阵操作的...

Numpy中常用的10个矩阵操作示例

数据科学和机器学习所需的数学知识中,约有30-40%来自线性代数。矩阵运算在线性代数中占有重要的地位。Numpy通常用于在Python中执行数值计算,并且对于矩阵操作做了特殊的优化。numpy通过向量...

巧用python的矩阵运算来进行电路的计算和分析

多元一次方程组早在初中时,我们就学习过多元一次方程组的求程。所谓多元一次组指的是含有有个未知数,并且含有未知数的项的次数都是1方程组。一个简单的例子:学校的篮球数比排球数的2倍多3个,足球数与排球数的...

如何在 Python 中制作矩阵:详细指南

什么是矩阵?在深入研究之前,让我们了解一下矩阵是什么:它是一个按行和列排列的数字的矩形数组。在 Python 中,我们通常使用嵌套列表来表示矩阵,其中每个内部列表代表一行。使用列表创建基本矩阵让我们从...

学习Numpy,看这篇文章就够啦

导读:在数据分析当中,Python用到最多的第三方库就是Numpy。本文内容是「大数据DT」内容合伙人王皓阅读学习《Python 3智能数据分析快速入门》过后的思考和补充,结合这本书一起学习,效果更佳...

进入Python的世界27-NumPy 库的介绍及学习方法

NumPy是多个高级库的基础,掌握深度学习之前,必须先学习这个库,让咱们一起开始学习了解一下这个库,形成自己的学习与知识体系。一 NumPy 主要框架内容1. ndarray对象ndarray(N-d...