Python数据分析 - 机器学习笔记:第一章数据分析 - 1.2.4.矩阵和矢量运算

本文是《Python数据分析 - 机器学习工程师》课程笔记,重点介绍矩阵的创建方法,包括四种创建方式和矩阵乘法。同时,详细讲解了矢量运算,包括标量积和矢量积的概念、计算方法及几何意义。通过实例展示了如何进行矢量运算。
摘要由CSDN通过智能技术生成

前言:本文是学习网易微专业的《python全栈工程师》 中的《数据分析 - 机器学习工程师》专题的课程笔记,欢迎学习交流。

一、课程目标
  • 掌握矩阵的创建方法
  • 掌握矢量运算的基本方法
二、详情解读
2.1.掌握矩阵的创建方法
2.1.1.区分
  • 矩阵:矩阵是numpy库的一种对象
  • 矩阵 ≠ \neq = 二维数组

1.创建矩阵:

方法一:

import numpy as np
A = np.mat([1, 2, 3])

运行结果:
在这里插入图片描述
矩阵也有shape属性

A.shape

运行结果:
在这里插入图片描述
方法二:

B = np.mat('1 2 3; 4 5 6; 7 8 9')  # 方阵

运行结果:
在这里插入图片描述
方法三:

# 数组作为参数,创建矩阵
M1 = np.mat(np.eye(3))
M2 = 2 * M1

运行结果:
在这里插入图片描述
在这里插入图片描述
方法四:矩阵的合并

np.bmat('M1 M2; M2 M1')

运行结果:
在这里插入图片描述
2.矩阵间的乘法:

先初始化两个数组:

a = np.arange(1, 10).reshape((3, 3))
b = np.array([[1, 0, 1], [0, 1, 1], [1, 1, 0]])
print(a)
print('-'*10)
print(b)

运行结果:
在这里插入图片描述
两个数组用“*”相乘,对应元素相乘

a * b

运行结果:
在这里插入图片描述
两个矩阵用“*”相乘


A = np.mat(a)
B = np.mat(b)
A * B

运行结果:
在这里插入图片描述
原理图解:
在这里插入图片描述
下面的计算与上述等价:

np.dot(a, b)

运行结果:
在这里插入图片描述
矩阵的转置:

A.T

运行结果:
在这里插入图片描述

2.2.矢量运算
2.2.1.标量积
  • 标量积(英语:Scalar Product)是两个矢量相乘的一种方式和结果。
  • 也被称为数量积、点积(英语:Dot Product)、内积(英语:Inner Product)。
  • 按照这种方式两个矢量相乘的结果是一个标量。

代数理解:
假设两个矢量 a ⃗ = [ a 1 , a 2 , a 3 , . . . a n ] \vec{a} = [a_1, a_2, a_3, ... a_n] a =[a1,a2,a3,...an] b ⃗ = [ b 1 , b 2 , b 3 , . . . . b n ] \vec{b} = [b_1, b_2, b_3, .... b_n] b =[b1,b2,b3,....bn],它们的点积定义为:
a ⃗ ⋅ b ⃗ = ∑ i = 1 n a i b i = a 1 b 1 + a 2 b 2 + . . . + a n b n \vec{a} \cdot \vec{b} = \sum_{i=1}^na_ib_i = a_1b_1 + a_2b_2 + ... + a_nb_n a b =i=1naibi=a1b1+a

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值