机器学习中的基本线性代数

机器学习入门笔记——机器学习中的基本线性代数

1. 线性代数的数学对象

import numpy as np
	标量:是一个单一的数字
#标量只是一个单一的数字
scalar_value=18
print(scalar_value)
#标量只是一个单一的数字
scalar_value=18
scalar_np=np.array(scalar_value) #转换为数组
print(scalar_np,scalar_np.shape)
	向量:是一个有序的数字数组
#向量是一个有序的数字数组

ve_value=[1,2,3]#这是一个列表
ve_np=np.array(ve_value)#转换为数组
print(ve_np,ve_np.shape)#shape显示为一维数组,既不是行向量,也不是列向量;
#行向量的矩阵表示
ve_row=np.array([[1,2,3]])
print(ve_row,'shape=',ve_row.shape)#一行三列的矩阵
#列向量的矩阵表示
ve_column=np.array([[4],[6],[8]])
print(ve_column,'shape=',ve_column.shape)#三行一列的矩阵
	矩阵:一个有序的二维数组
#矩阵是一个有序的二维数组,它有两个索引。第一个指向行,第二个指向列

m_list=[[1,2,3],[4,5,6]]
m_np=np.array(m_list)
print('m_list=',m_list,'\n','m_np=\n',m_np,'\n','m_np.shape=',m_np.shape)
#两行三列的矩阵

2. 线性代数基本运算规则

**矩阵标量运算** 
#矩阵和标量运算
m=np.array([[1,2,3],[5,6,7]])
print(m,'shape=',m.shape)
#两行三列的矩阵
#矩阵*标量
n=m*2
print(n,'shape=',n.shape)
#矩阵+标量
n=m+2
print(n,'shape=',n.shape)
**矩阵-矩阵加法和减法**
#矩阵+矩阵
a=np.array([[1,2,3],[4,5,6]])#2行3列
b=np.array([[7,8,9],[1,2,3]])#2行3列
a+b
 **矩阵-矩阵点乘(点积)** 
#矩阵·矩阵(点乘),对应位置相乘,两个矩阵行列数必须相等
a=np.array([[1,2,3],[4,5,6]])
b=np.array([[7,8,9],[1,2,3]])
a*b#与np.multiply等价
#矩阵·矩阵(点乘),对应位置相乘,两个矩阵行列数必须相等
a=np.array([[1,2,3],[4,5,6]])
b=np.array([[7,8,9],[1,2,3]])
np.multiply(a,b) 
 **矩阵-矩阵相乘(叉乘)**
#矩阵·矩阵(叉乘)
#如果将一个矩阵列的数量与第二个矩阵行数相匹配,才能将矩阵相乘
#结果将是一个矩阵,它具有与第一个矩阵相同的行数和与第二个矩阵相同的列数
a=np.array([[1,2,3],
            [4,5,6]])#2行3列
b=np.array([[7,8,9],
            [1,2,3],
            [1,2,3]])#3行3列
np.matmul(a,b)
 **矩阵-向量乘法** 
#矩阵向量的乘法
a=np.array([[1,2,3],
            [4,5,6]])#2行3列
b=np.array([[7],[1],[3]])#3行1列
np.matmul(a,b)
 **向量-向量乘法(列向量-行向量)**
a=np.array([[1,2,3]])#1行3列
b=np.array([[7],[1],[3]])#3行1列
np.matmul(a,b)
  **向量-向量乘法(行向量-列向量)** 
a=np.array([[7],[1],[3]])#3行1列
b=np.array([[1,2,3]])#1行3列

np.matmul(a,b)
  **矩阵转置**
#行列转置
a=np.array([[1,2,3]])#1行3列
print(a,'shape=',a.shape,'\n',a.T,'shape=',a.T.shape)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值