读书频道 > 网站 > 网页设计 > 机器学习算法原理与编程实践
1.2.5 Linalg线性代数库
15-11-26    下载编辑
收藏    我要投稿   
本书从结构上阐明了研究机器学习理论和算法的方法。最重要的不是数学,也不是这些算法本身,而是思想的发展过程,这与之前所有的书籍都有所不同。全书分为三条主线:第一条主线:从第一代神经网络(线性分类器)立即去当当网订购

在矩阵基本运算的基础之上,Numpy的linalg库可以满足大多数的线性代数运算,本节所列的矩阵公式列表和代码如下:

矩阵的行列式

矩阵的逆

矩阵的对称

矩阵的秩

可逆矩阵求解线性方程组

读者可根据自己需求有选择的学习。因使用矢量编程的方法,矩阵的基本运算得到了较大的简化。

1.矩阵的行列式:

from numpy import *

# n阶方阵的行列式运算
A = mat( [[1,2,4,5,7,],[9,12,11,8,2,],[6,4,3,2,1,],[9,1,3,4,5],[0,2,3,4,1]])
print "det(A):",linalg.det(A);  # 方阵的行列式
输出结果:
det(A): -812.0

2.矩阵的逆:

from numpy import *

A = mat( [[1,2,4,5,7,],[9,12,11,8,2,],[6,4,3,2,1,],[9,1,3,4,5],[0,2,3,4,1]])
invA = linalg.inv(A) # 矩阵的逆
print "inv(A):",invA
输出结果:
inv(A): [[ -7.14285714e-02  -1.23152709e-02   5.29556650e-02   9.60591133e-02
   -8.62068966e-03]
 [  2.14285714e-01  -3.76847291e-01   1.22044335e+00  -4.60591133e-01
    3.36206897e-01]
 [ -2.14285714e-01   8.25123153e-01  -2.04802956e+00   5.64039409e-01
   -9.22413793e-01]
 [  1.66901077e-16  -4.13793103e-01   8.79310345e-01  -1.72413793e-01
    8.10344828e-01]
 [  2.14285714e-01  -6.65024631e-02   1.85960591e-01  -8.12807882e-02
   -1.46551724e-01]]
3.矩阵的对称:
from numpy import *

A = mat([[1,2,4,5,7,],[9,12,11,8,2,],[6,4,3,2,1,],[9,1,3,4,5],[0,2,3,4,1]])
AT = A.T   #矩阵的对称
print A*AT
输出结果:
[[ 95 131  43  78  43]
 [131 414 153 168  91]
 [ 43 153  66  80  26]
 [ 78 168  80 132  32]
 [ 43  91  26  32  30]]
4.矩阵的秩:
from numpy import *

A = mat([[1,2,4,5,7,],[9,12,11,8,2,],[6,4,3,2,1,],[9,1,3,4,5],[0,2,3,4,1]])
print linalg.matrix_rank(A)  #矩阵的秩
输出结果:
5
5.可逆矩阵求解:
from numpy import *

A = mat([[1,2,4,5,7,],[9,12,11,8,2,],[6,4,3,2,1,],[9,1,3,4,5],[0,2,3,4,1]])
b = [1,0,1,0,1]
S = linalg.solve(A,T(b))
print S
输出结果:
[-0.0270936   1.77093596 -3.18472906  1.68965517  0.25369458]

 

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站