前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《深度学习》学习笔记一——线性代数

《深度学习》学习笔记一——线性代数

作者头像
夜雨飘零
发布2020-05-06 10:52:37
3960
发布2020-05-06 10:52:37
举报
文章被收录于专栏:CSDN博客

原文博客:Doi技术团队 链接地址:https://blog.doiduoyi.com/authors/1584446358138 初心:记录优秀的Doi技术团队学习经历

目录

文章目录

  • 目录
  • 标量、向量、矩阵和张量
    • Python代码实现
  • 转置
    • Python代码实现
  • 矩阵的运算
    • 一. 矩阵的加法
      • Python代码实现
    • 二. 矩阵的乘法
      • Python代码实现
  • 单位矩阵和逆矩阵
    • Python代码实现
  • 线性相关和生成子空间
  • 范数
  • 参考资料

Python代码实现

使用Python创建普通二维矩阵

代码语言:javascript
复制
import numpy as np

m = np.mat([[1,2,3],[4,5,6]])
print m

输出为:

代码语言:javascript
复制
[[1 2 3]
 [4 5 6]]

使用zeros创建一个3×23\times 23×2的0矩阵,还可以使用ones函数创建1矩阵

代码语言:javascript
复制
from  numpy import *
import numpy as np

m = np.mat(zeros((3,2)))
print m

输出为:

代码语言:javascript
复制
[[0. 0.]
 [0. 0.]
 [0. 0.]]

创建单位矩阵,单位矩阵部分有介绍

代码语言:javascript
复制
from numpy import *
import numpy as np

m = np.mat(eye(3,3,dtype=int))
print m

输出为:

代码语言:javascript
复制
[[1 0 0]
 [0 1 0]
 [0 0 1]]

Python代码实现

矩阵的装置

代码语言:javascript
复制
# coding=utf-8
import numpy as np

m = np.mat([[1,2,3],[4,5,6]])
print '转置前:\n%s' % m
t = m.T
print '转置前:\n%s' % t

输出为:

代码语言:javascript
复制
转置前:
[[1 2 3]
 [4 5 6]]
转置前:
[[1 4]
 [2 5]
 [3 6]]

矩阵的运算

Python代码实现

计算两个同型矩阵的加法

代码语言:javascript
复制
import numpy as np

m1 = np.mat([[1, 2, 3], [4, 5, 6]])
m2 = np.mat([[11, 12, 13], [14, 15, 16]])
print "m1 + m2 = \n%s " % (m1 + m2)

输出为:

代码语言:javascript
复制
m1 + m2 = 
[[12 14 16]
 [18 20 22]] 

二. 矩阵的乘法

Python代码实现

计算2×3矩阵与3×2矩阵相乘

代码语言:javascript
复制
import numpy as np

m1 = np.mat([[1, 2, 3], [4, 5, 6]])
m2 = np.mat([[11, 12], [13, 14], [15, 16]])
print "m1 * m2 = \n%s " % (m1 * m2)

输出为:

代码语言:javascript
复制
m1 * m2 = 
[[ 82  88]
 [199 214]] 

Python代码实现

单位矩阵的计算

代码语言:javascript
复制
from numpy import *
import numpy as np

m = np.mat(eye(3,3,dtype=int))
print m

输出为:

代码语言:javascript
复制
[[1 0 0]
 [0 1 0]
 [0 0 1]]

计算3×33\times33×3矩阵的逆矩阵

代码语言:javascript
复制
# coding=utf-8
import numpy as np

m = np.mat([[2, 0, 0], [0, 4, 0], [0, 0, 8]])
I = m.I
print '矩阵:\n%s\n的逆矩阵为:\n%s' % (m, I)

输出为:

代码语言:javascript
复制
矩阵:
[[2 0 0]
 [0 4 0]
 [0 0 8]]
的逆矩阵为:
[[0.5   0.    0.   ]
 [0.    0.25  0.   ]
 [0.    0.    0.125]]

求3×33\times33×3方阵的行列式

代码语言:javascript
复制
# coding=utf-8
import numpy as np

m = np.mat([[2, 0, 0], [0, 4, 0], [0, 0, 8]])
d = np.linalg.det(m)
print d

输出为:

代码语言:javascript
复制
64.0

求3×33\times33×3方阵的伴随矩阵

代码语言:javascript
复制
import numpy as np

m = np.mat([[2, 0, 0], [0, 4, 0], [0, 0, 8]])
i = m.I
d = np.linalg.det(m)
a = i * d
print a

输出为:

代码语言:javascript
复制
[[32.  0.  0.]
 [ 0. 16.  0.]
 [ 0.  0.  8.]]

参考资料
  1. lan Goodfellow,Yoshua Bengio,Aaron Courville.深度学习(中文版).赵申剑,黎彧君,符天凡,李凯,译.北京:人民邮电出版社
  2. 同济大学数学系.工程数学-线性代数(第六版).北京:高等教育出版社
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/01/13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
    • 文章目录
      • Python代码实现
        • Python代码实现
          • Python代码实现
      • 矩阵的运算
        • 二. 矩阵的乘法
          • Python代码实现
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档