首页 文章 精选 留言 我的

精选列表

搜索[数学软件],共10011篇文章
优秀的个人博客,低调大师

Python零基础学习笔记(八)—— 数学功能

一定要导入math包,不然后面会报错 今日学习部分及执行结果如下图 import math # abs() 返回数的绝对值 a1 = -10 a2 = abs(a1) print(a2) #比较两个数的大小 a3 = 10 a4 = 9 print((a3>a4)-(a3<a4)) # max() 返回参数中的最大值 print(max(1,2,3,4,5)) # min() 返回参数中的最小值 print(min(1,2,3,4,5)) # pow() 求x的y次方 例如2^4 print(pow(2,4)) #round(x[, n]) x为数值,n为保留位数,n可有可无 # 四舍五入 print(round(3.576)) print(round(3.492)) #四舍五入保留位数 print(round(3.576, 1)) print(round(3.492, 2)) # math.ceil() 向上取整 print(math.ceil(8.1)) print(math.ceil(5.9)) # math.floor() 向下取整 print(math.floor(8.1)) print(math.floor(5.9)) # math.modf() 返回整数部分与小数部分 print(math.modf(12.3)) # math.sqrt() 开方 print(math.sqrt(25))

优秀的个人博客,低调大师

(Python)零起步数学+神经网络入门

在这篇文章中,我们将在Python中从头开始了解用于构建具有各种层神经网络(完全连接,卷积等)的小型库中的机器学习和代码。最终,我们将能够写出如下内容: 假设你对神经网络已经有一定的了解,这篇文章的目的不是解释为什么构建这些模型,而是要说明如何正确实现。 逐层 我们这里需要牢记整个框架: 1. 将数据输入神经网络 2. 在得出输出之前,数据从一层流向下一层 3. 一旦得到输出,就可以计算出一个标量误差。 4. 最后,可以通过相对于参数本身减去误差的导数来调整给定参数(权重或偏差)。 5. 遍历整个过程。 最重要的一步是第四步。我们希望能够拥有任意数量的层,以及任何类型的层。但是如果修改/添加/删除网络中的一个层,网络的输出将会改变,误差也将改变,误差相对于参数的导数也将改变。无论网络架构如何、激活函数如何、损

优秀的个人博客,低调大师

AI数学基础之:奇异值和奇异值分解

简介 奇异值是矩阵中的一个非常重要的概念,一般是通过奇异值分解的方法来得到的,奇异值分解是线性代数和矩阵论中一种重要的矩阵分解法,在统计学和信号处理中非常的重要。 在了解奇异值之前,让我们先来看看特征值的概念。 相似矩阵 在线性代数中,相似矩阵是指存在相似关系的矩阵。设A,B为n阶矩阵,如果有n阶可逆矩阵P存在,使得P-1AP=B,则称矩阵A与B相似,记为A~B。 对角矩阵 对角矩阵(diagonal matrix)是一个主对角线之外的元素皆为0的矩阵,常写为diag(a1,a2,...,an) 。对角矩阵可以认为是矩阵中最简单的一种,值得一提的是:对角线上的元素可以为 0 或其他值,对角线上元素相等的对角矩阵称为数量矩阵;对角线上元素全为1的对角矩阵称为单位矩阵。对角矩阵的运算包括和、差运算、数乘运算、同阶对角阵的乘积运算,且结果仍为对角阵。 可对角化矩阵 可对角化矩阵是线性代数和矩阵论中重要的一类矩阵。如果一个方块矩阵 A 相似于对角矩阵,也就是说,如果存在一个可逆矩阵 P 使得 P−1AP 是对角矩阵,则它就被称为可对角化的。 特征值 设A为n阶矩阵,若存在常数λ及n维非零向量x,使得Ax=λx,则称λ是矩阵A的特征值,x是A属于特征值λ的特征向量。 一个矩阵的一组特征向量是一组正交向量。 即特征向量被施以线性变换 A 只会使向量伸长或缩短而其方向不被改变。 一个线性变换通常可以由其特征值和特征向量完全描述。特征空间是相同特征值的特征向量的集合。 特征分解 特征分解(Eigendecomposition),又称谱分解(Spectral decomposition)是将矩阵分解为由其特征值和特征向量表示的矩阵之积的方法。需要注意只有对可对角化矩阵才可以施以特征分解。 令A是一个 N×N 的方阵,且有 N 个线性无关的特征向量 qi(i=1,…,N)。这样,A可以被分解为:A= QΛQ-1 其中 Q 是N×N方阵,且其第 i列为 A 的特征向量 。如果A的所有特征向量用x1,x2 … xm来表示的话,那么Q可以表示为:, 其中x是n维非零向量。 Λ 是对角矩阵,其对角线上的元素为对应的特征值,也即Λii=λi。 也就是 这里需要注意只有可对角化矩阵才可以作特征分解。比如不能被对角化,也就不能特征分解。 因为A= QΛQ-1,可以看做A被分解为三个矩阵,也就是三个映射。 假如现在有一个向量x,我们可以得出下面的结论: Q是正交矩阵,正交阵的逆矩阵等于其转置,所以=.对x的变换是正交变换,它将x用新的坐标系来表示,这个坐标系就是A的所有正交的特征向量构成的坐标系。比如将x用A的所有特征向量表示为: 则通过第一个变换就可以把x表示为。 然后,在新的坐标系表示下,由中间那个对角矩阵对新的向量坐标换,其结果就是将向量往各个轴方向拉伸或压缩: 如果A不是满秩的话,那么就是说对角阵的对角线上元素存在0,这时候就会导致维度退化,这样就会使映射后的向量落入m维空间的子空间中。 最后一个变换就是Q对拉伸或压缩后的向量做变换,由于Q和是互为逆矩阵,所以Q变换是变换的逆变换。 特征值的几何意义 一个矩阵乘以一个列向量相当于矩阵的列向量的线性组合。一个行向量乘以矩阵,相当于矩阵的行向量的线性组合。 所以向量乘以矩阵之后,相当于将这个向量进行了几何变换。 之前讲了 Λ 是对角矩阵,其对角线上的元素为对应的特征值,也即Λii=λi。 也就是 这些特征值表示的是对向量做线性变换时候,各个变换方向的变换幅度。 奇异值 Singular value 假如A是m * n阶矩阵,q=min(m,n),A*A的q个非负特征值的算术平方根叫作A的奇异值。 奇异值分解SVD 特征值分解可以方便的提取矩阵的特征,但是前提是这个矩阵是一个方阵。如果是非方阵的情况下,就需要用到奇异值分解了。先看下奇异值分解的定义: 其中A是目标要分解的m * n的矩阵,U是一个 n * n的方阵,Σ 是一个n * m 的矩阵,其非对角线上的元素都是0。是V的转置,也是一个n * n的矩阵。 奇异值跟特征值类似,在矩阵Σ中也是从大到小排列,而且奇异值的减少特别的快,在很多情况下,前10%甚至1%的奇异值的和就占了全部的奇异值之和的99%以上了。也就是说,我们也可以用前r大的奇异值来近似描述矩阵。r是一个远小于m、n的数,这样就可以进行压缩矩阵。 通过奇异值分解,我们可以通过更加少量的数据来近似替代原矩阵。 本文已收录于www.flydean.com 最通俗的解读,最深刻的干货,最简洁的教程,众多你不知道的小技巧等你来发现! 欢迎关注我的公众号:「程序那些事」,懂技术,更懂你!

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册