机器学习之numpy基础——线性代数,不要太简单哦

简介: 机器学习之numpy基础——线性代数,不要太简单哦

大学的记忆

       理工科的小伙伴们都还记得吧,线性代数是大学里逃不掉的课程,今天我们就聊聊numpy中与线性代数相关的模块。

       线性代数是数学的一个重要分支。同时它也是机器学习和深度学习的关键组成部分,有些算法的理论,要借助线性代数的相关概念来阐述,某些算法的结论也要通过线性代数的推演来获得。而且几乎所有的机器学习和深度学习的运算都是通过线性代数来实现的。可见线性代数在人工智能领域是多么的重要。

       numpy中与线性代数相关的运算有很多,我们这里介绍一些较为重要的运算,放心,这些运算在numpy的领地都非常简洁!

linalg模块

1.计算逆矩阵

       在线性代数中,矩阵 与其逆矩阵 相乘后会得到一个单位矩阵 。该定义可以写为 。numpy.linalg 模块中的inv函数可以计算逆矩阵。

如果输入矩阵是奇异的或非方阵,则会抛出LinAlgError异常。

2.求解线性方程组

       矩阵可以对向量进行线性变换,这对应于数学中的线性方程组。numpy.linalg中的函数solve可以求解形如 Ax = b 的线性方程组,其中 A 为系数矩阵,b 为一维或二维的常量数组,x 是未知变量。

3.求解特征值和特征向量

       特征值(eigenvalue)即方程 Ax = ax 的根,是一个标量。其中,A 是一个二维矩阵,x 是一个一维向量。特征向量(eigenvector)是关于特征值的向量。在numpy.linalg模块中,eigvals函数可以计算矩阵的特征值,而eig函数可以返回一个包含特征值和对应的特征向量的元组。

4.奇异值分解

       SVD(Singular Value Decomposition,奇异值分解)是一种因子分解运算,将一个矩阵分解

为3个矩阵的乘积。奇异值分解是前面讨论过的特征值分解的一种推广。在numpy.linalg模块中的svd函数可以对矩阵进行奇异值分解。该函数返回3个矩阵——U、Sigma和V,其中U和V是正交矩阵,Sigma包含输入矩阵的奇异值。

星号表示厄米共轭(Hermitian conjugate)或共轭转置(conjugate transpose)。

5.广义逆矩阵

在numpy.linalg模块中的pinv函数可以求矩阵的广义逆矩阵。

6.行列式

       行列式(determinant)是与方阵相关的一个标量值,在数学中得到广泛应用。对于一个n×n的实数矩阵,行列式描述的是一个线性变换对“有向体积”所造成的影响。行列式的值为正表示保持了空间的定向(顺时针或逆时针),为负则表示颠倒了空间的定向。numpy.linalg模块中的det函数可以计算矩阵的行列式。

fft模块

1.快速傅里叶变换

       在NumPy中,有一个名为fft的模块提供了快速傅里叶变换的功能。在这个模块中,许多函数都是成对存在的,也就是说许多函数存在对应的逆操作函数。例如,fft和ifft函数就是其中的一对。

连续分布和离散分布

1.超几何分布

       超几何分布(hypergeometric distribution)是一种离散概率分布,它描述的是一个罐子里有

两种物件,无放回地从中抽取指定数量的物件后,抽出指定种类物件的数量。

2.正态分布

       随机数可以从正态分布中产生,它们的直方图能够直观地刻画正态分布。

3.对数正态分布

       对数正态分布(lognormal distribution) 是自然对数服从正态分布的任意随机变量的概率分布。

 

作者这水平有限,有不足之处欢迎留言指正

相关文章
|
1月前
|
机器学习/深度学习 人工智能 数据处理
机器学习库:numpy
机器学习库:numpy
|
1月前
|
数据采集 机器学习/深度学习 存储
【机器学习】数据清洗——基于Numpy库的方法删除重复点
【机器学习】数据清洗——基于Numpy库的方法删除重复点
114 1
|
18天前
|
机器学习/深度学习 人工智能 IDE
人工智能平台PAI操作报错合集之交互式建模(DSW)环境中,numpy模块如何正确安装
阿里云人工智能平台PAI (Platform for Artificial Intelligence) 是阿里云推出的一套全面、易用的机器学习和深度学习平台,旨在帮助企业、开发者和数据科学家快速构建、训练、部署和管理人工智能模型。在使用阿里云人工智能平台PAI进行操作时,可能会遇到各种类型的错误。以下列举了一些常见的报错情况及其可能的原因和解决方法。
|
1月前
|
机器学习/深度学习 数据挖掘 Python
线性代数运算在NumPy中的实现
【4月更文挑战第17天】本文介绍了NumPy在Python中实现线性代数运算的方法,包括使用`ndarray`创建向量和矩阵,矩阵的转置,矩阵乘法,计算特征值和特征向量,解线性方程组,以及计算行列式和逆矩阵。通过NumPy,科学家和数据分析师能更高效地进行科学计算和数据分析。
|
1月前
|
机器学习/深度学习 数据采集 算法
探索NumPy与机器学习库的集成之路
【4月更文挑战第17天】本文探讨了NumPy在机器学习中的核心作用,它为各类机器学习库提供基础数据处理和数值计算能力。NumPy的线性代数、优化算法和随机数生成等功能,对实现高效模型训练至关重要。scikit-learn等库广泛依赖NumPy进行数据预处理。未来,尽管面临大数据和复杂模型的性能挑战,NumPy与机器学习库的集成将继续深化,推动技术创新。
|
1月前
|
机器学习/深度学习 数据采集 PyTorch
《Numpy 简易速速上手小册》第9章:Numpy 在机器学习中的应用(2024 最新版)
《Numpy 简易速速上手小册》第9章:Numpy 在机器学习中的应用(2024 最新版)
22 0
|
1月前
|
机器学习/深度学习 数据挖掘 Python
NumPy 中级教程——线性代数操作
NumPy 中级教程——线性代数操作
178 4
|
6天前
|
机器学习/深度学习 人工智能 算法
【昆虫识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+机器学习+TensorFlow+ResNet50
昆虫识别系统,使用Python作为主要开发语言。通过TensorFlow搭建ResNet50卷积神经网络算法(CNN)模型。通过对10种常见的昆虫图片数据集('蜜蜂', '甲虫', '蝴蝶', '蝉', '蜻蜓', '蚱蜢', '蛾', '蝎子', '蜗牛', '蜘蛛')进行训练,得到一个识别精度较高的H5格式模型文件,然后使用Django搭建Web网页端可视化操作界面,实现用户上传一张昆虫图片识别其名称。
129 7
【昆虫识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+机器学习+TensorFlow+ResNet50
|
6天前
|
机器学习/深度学习 人工智能 算法
算法金 | 统计学的回归和机器学习中的回归有什么差别?
**摘要:** 统计学回归重在解释,使用线性模型分析小数据集,强调假设检验与解释性。机器学习回归目标预测,处理大数据集,模型复杂多样,关注泛化能力和预测误差。两者在假设、模型、数据量和评估标准上有显著差异,分别适用于解释性研究和预测任务。
36 8
算法金 | 统计学的回归和机器学习中的回归有什么差别?
|
2天前
|
数据采集 机器学习/深度学习 算法
机器学习方法之决策树算法
决策树算法是一种常用的机器学习方法,可以应用于分类和回归任务。通过递归地将数据集划分为更小的子集,从而形成一棵树状的结构模型。每个内部节点代表一个特征的判断,每个分支代表这个特征的某个取值或范围,每个叶节点则表示预测结果。
11 1