[机器学习基础]矩阵基础和numpy

加法



减法

数乘




乘法
,它的一个元素:





Python numpy
安装:
pip install numpy
使用:
# 创建数组
a = np.array([1, 2, 3, 4])
# 多维数组
b = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
print a
print b
# 数组大小
print a.shape
print b.shape
# 查看类型
c = np.array(['', 22, 33])
print c.dtype
print a.dtype
# 存取方法
print a[:-1]
print a[1:2]
# 其中注意的是通过下标取值产生新的数组雨原始数组共享同一块数据空间
d = a[0:3]
print d
d[2] = 333333
print d
print a
乘积:
乘积中*和dot是不一样,*是数组元素逐个计算,dot是按照矩阵来进行计算
# 创建数组
a = np.array([[1, 2], [5, 6]])
# 多维数组
b = np.array([[1, 2], [5, 6]])
print a
print b
print "*" * 30
c = a * b
print c
print "-" * 30
d = np.dot(a, b)
print d
输出:
[[1 2]
[5 6]]
[[1 2]
[5 6]]
******************************
[[ 1 4]
[25 36]]
------------------------------
[[11 14]
[35 46]]
dot计算公式:
dot(a, b) [i , j, k, m] = sum(a[i, j, :] * b[k, :, m])
inner计算公式:
inner(a, b)[i, j, k, m] = sum(a[i, j, :] * b[k, m, :])
[机器学习基础]矩阵基础和numpy的更多相关文章
- SLAM入门之视觉里程计(4):基础矩阵的估计
在上篇文章中,介绍了三位场景中的同一个三维点在不同视角下的像点存在着一种约束关系:对极约束,基础矩阵是这种约束关系的代数表示,并且这种约束关系独立与场景的结构,只依赖与相机的内参和外参(相对位姿).这 ...
- 【Python矩阵及其基础操作】【numpy matrix】
一.矩阵生成 1.numpy.matrix: import numpy as np x = np.matrix([ [1, 2, 3],[4, 5, 6] ]) y = np.matrix( [1, ...
- SLAM入门之视觉里程计(2):两视图对极约束 基础矩阵
在上篇相机模型中介绍了图像的成像过程,场景中的三维点通过"小孔"映射到二维的图像平面,可以使用下面公式描述: \[ x = MX \]其中,\(c\)是图像中的像点,\(M\)是一 ...
- 2D-2D:对极几何 基础矩阵F 本质矩阵E 单应矩阵H
对极约束 \[ \boldsymbol{x}_{2}^{T} \boldsymbol{F} \boldsymbol{x}_{1}=\boldsymbol{0} \quad \hat{\boldsymb ...
- SLAM入门之视觉里程计(3):两视图对极约束 基础矩阵
在上篇相机模型中介绍了图像的成像过程,场景中的三维点通过"小孔"映射到二维的图像平面,可以使用下面公式描述: \[ x = MX \]其中,\(c\)是图像中的像点,\(M\)是一 ...
- 机器学习:Jupyter Notebook中numpy的使用
一.Jupyter Notebook的魔法命令 # 模块/方法 + ?或者help(模块/方法):查看模块/方法的解释文档: 1)%run # 机械学习中主要应用两个魔法命令:%run.%timeit ...
- [.net 面向对象编程基础] (3) 基础中的基础——数据类型
[.net 面向对象编程基础] (3) 基础中的基础——数据类型 关于数据类型,这是基础中的基础. 基础..基础..基础.基本功必须要扎实. 首先,从使用电脑开始,再到编程,电脑要存储数据,就要按类型 ...
- [.net 面向对象编程基础] (4) 基础中的基础——数据类型转换
[.net面向对象编程基础] (4)基础中的基础——数据类型转换 1.为什么要进行数据转换? 首先,为什么要进行数据转换,拿值类型例子说明一下, 比如:我们要把23角零钱,换成2.30元,就需要把整形 ...
- [.net 面向对象编程基础] (5) 基础中的基础——变量和常量
[.net面向对象编程基础] (5) 基础中的基础——变量和常量 1.常量:在编译时其值能够确定,并且程序运行过程中值不发生变化的量. 通俗来说,就是定义一个不能改变值的量.既然不能变动值,那就必须 ...
随机推荐
- 【转载】Java类加载原理解析
Java类加载原理解析 原文出处:http://www.blogjava.net/zhuxing/archive/2008/08/08/220841.html 1 基本信息 摘要: 每个j ...
- cdq分治入门and持续学习orz
感觉cdq分治是一个很有趣的算法 能将很多需要套数据结构的题通过离线来做 目前的一些微小的理解 在一般情况下 就像求三维偏序xyz 就可以先对x排序 然后分治 1 cdq_x(L,M) ; 2 提取出 ...
- 解决Pycharm中matplotlib画图出错问题(AttributeError: module 'matplotlib' has no attribute 'verbose')
最近在Linux中使用pycharm过程中使用matplotlib无法画图,总是提示错误 /usr/bin/python3. /home/leo/PycharmProjects/untitled1/E ...
- codeforces 705B:Spider Man
Description Peter Parker wants to play a game with Dr. Octopus. The game is about cycles. Cycle is a ...
- js数字过大js自动变0
解决方案: <a onclick="checkDate(${item.billday},'${item.bankcard}',${item.limitmoney/100}) 加上引号变 ...
- Use default arguments instead of short circuiting or conditionals使用默认实参代替短路和条件
- myeclipse发布项目
最好不要点击restart 虽然点击run,也会发布,但是最好先点击发布. 点击restart,可能会出现tomcat关不掉又启动不了.
- InputStream与String,Byte之间互转
import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOExceptio ...
- brew安装php和扩展
brew install homebrew/php/php56 --with-apache 报错: checking if the location of ZLIB install directory ...
- [SP16549]QTREE6
luogu vjudge 题意 给你一棵n个点的树,编号1~n.每个点可以是黑色,可以是白色.初始时所有点都是黑色.支持两种操作: 0 u:询问有多少个节点v满足路径u到v上所有节点(包括)都拥有相同 ...