Python
Python
目录
NumPy库
简概
可以计算向量、计算矩阵
机器学习环境常用
常用功能
注意要区分向量和矩阵的定义
数据定义
向量
定义向量(一对中括号)
w = np.array([1.0, 2.5, -3.3])	# 访问方法:w[i]
b = 4
x = np.array([10, 20, 30])		# 访问方法:x[i]
# 向量也可以看成是列矩阵
np.array([10, 20, 30]) 和 np.array([[10], [20], [30]]) 基本是一样的numpy向量的注释
向量转置前后打印出来是一样的。
由于python numpy的广播特性(行向量+列向量不会报错,会变成一个矩阵),使用向量很容易出错
import numpy as np
a = np.random.randn(5)		
a							# [0.50, -0.29, 0.95, -0.82, -1.46]
a.T							# [0.50, -0.29, 0.95, -0.82, -1.46]解决方法:
a = np.random.randn(5)		# 不要使用,有jj歧义
b = np.random.randn(5,1)	# 竖向量,a.shape -> (5,1)
c = np.random.randn(1,5)	# 行向量,a.shape -> (1,5)
# 打印出来也不同
b
"""
[[ 0.50]
 [-0.29]
 [ 0.95]
 [-0.82]
 [-1.46]]
"""
b.T
"""
[[ 0.50  -0.29  0.95  -0.82  -1.46]]
"""矩阵
定义矩阵1(两对中括号)
x = np.array([		# 这是一个矩阵
    [200.0, 17.0],
    [425.0, 18.5]
])
x  = np.array([		# 这是一个4x2矩阵,即四行两列矩阵
    [0.1, 0.2],
    [0.2, 0.3],
    [0.3, 0.4],
    [0.4, 0.5],
])
# 一般不用矩阵的定义方式来定义向量,写起来会非常麻烦,而是直接定义向量,然后当矩阵用定义矩阵2
np.matrix()		# ...方法
向量点乘
f = np.dot(w,x)+b				# 向量化的一个好处是快,对于大数据还可以多线程并行工作,而不是单线程循环矩阵乘(叉乘)
Z = np.matmul(A_in,W) + B链接到当前文件 0
没有文件链接到当前文件