线性代数 向量

一、定义

        几何定义:向量是一个有方向和大小的量,通常用箭头表示。向量的起点称为原点,终点称为向量的端点。

        代数定义:向量是一个有序的数组,通常表示为列向量或行向量。

行向量就是 1*n的形式(行展开)

列向量就是 n*1的形式(列展开)

二、运算

        加法、数乘、点积和叉积(向量维度必须相同,若不相同,可以补零)

1、加法

        向量加法是将两个向量的对应分量相加,得到一个新的向量(A_1 +B_1 = C_1)。

2、数乘

        向量数乘是将一个向量的每个分量乘以一个标量,得到一个新的向量(KA =B= KA_1 ,KA_2 ... KA_n)。

3、点积

        向量点积(内积)是将两个向量的对应分量相乘,然后将结果相加,得到一个标量

u⋅v=u_{1}v_{1}+u_{2}v_{2}+⋯+u_{n}v_{n}  。

例如:存在两个向量,求相加、分别乘2、两者相乘:

解:

注意:加减法、数乘都是得到向量结果,向量相乘得到标量(准确数值)。

三、特征值与特征向量

         A 是一个 n×n 的方阵。如果存在一个非零列向量 v 和一个标量 λ,使得: Av=λv。

那么λ 称为矩阵 A的特征值,v 称为对应于特征值 λ 的特征向量(λ可以为0,而v不能为0,并且v是列向量 )。

        根据  Av=λv 推 (A-λE)v=0 (λ  是标量,转化为矩阵才能进行运算,则需要乘以单位矩阵),

v不可以为零,那么  A-λE  = 0 

例如:

解:求特征值 λ :

        A-λE = 0 =>  = (-1- λ)(3-λ)(2-λ) - (-4) * (2-λ) =  (2-λ)((-1- λ)(3-λ)+4) = (2-λ)((-1- λ)(3-λ) +4) = (2-λ)(λ*λ -3λ +λ +4) = (2-λ)(λ-1)(λ-1) =0

那么 λ 的值为 2,1

        求特征向量 (A-λE)v=0 ,则需要 (A-λE) 的矩阵来得到特征向量

在 λ = 2 的情况下:

 = ,初等变化 (第一行和第三行交换;第二行减去第三行;第二行减去第一行;第二行与第三行交换;第二行 乘 4加上第一行, 第二行除以4)最终结果为 

,令为A1

根据 (A-λE)v=0 得到 A1 * v = 0 ,则 等价于   *  =  =>

1*a + 0*b +0*c = 0   ;        0*a + 1*b +0*c = 0 ;        0*a + 0*b +0*c = 0 

综合可得,a=b=0,c 可以是任何数值。即 v = 

在 λ = 1 的情况下:

  =  ,初等变化 后为 与上面类型一致,则结果还是a=b=0,c 可以是任何数值。

四、向量的模

        向量 v 的模记作 ∥v∥,计算公式为:

五,向量内积

        对于两个 n 维向量 a=(a1,a2,…,an) 和 b=(b1,b2,…,bn),它们的内积(点积)表示为 a⋅b,计算公式为: a *  b=a_{1}b_{1}+a_{2}b_{2}+⋯+a_{n}b_{n}

        在几何上,内积也可以通过向量的模和它们之间的夹角来表示。具体来说,如果 θ 是向量 a 和 b 之间的夹角,那么内积可以表示为: a * b=||a|| * ||b|| *cos⁡(θ)

 例如:有两个三维向量 a 和 b :a=(2,3,1),b=(4,−1,2),

        其内积为 a⋅b=(2⋅4)+(3⋅−1)+(1⋅2)=8-3+2=7

        a⋅b=∥a∥∥b∥cos⁡(θ) =>  cos⁡(θ) =   a⋅b / ∥a∥∥b∥ = 7/  (14)^{1/2}   / (21)^{1/2} =  0.408

六、根据模扩展 - 余弦相似度

        cos= ab / (|a|*|b|)

        使用余弦相似度计算两段文本的相似度

将语句拆分为多个字或词,之后将两个语句的所有内容放入集合,按照词在集合中的次数进行整理得到向量(集合中的词位置就是向量的下标),两个向量求余弦值。

例如;

句子A:这只皮靴号码大了。那只号码合适。

句子B:这只皮靴号码不小,那只更合适。

拆分句子得到:

listA=[这, 只, 皮靴, 号码, 大, 了, 那, 只, 号码, 合适]

listB=[这, 只, 皮靴, 号码, 不, 小, 那, 只, 更, 合适]

放入集合

set=[号码, 合适, 那, 更, 了, 大, 皮靴, 这, 只, 不, 小]

进行排序加次数计算

freqListA=[2, 1, 1, 0, 1, 1, 1, 1, 2, 0, 0]

freqListB=[1, 1, 1, 1, 0, 0, 1, 1, 2, 1, 1]

套用余弦函数计算相似度

cos = 10 /12.94  = 0.77

import math
# 输入两个语句
listA1 =input('请输入第一个句子:')
listB1 =input('请输入第二个句子:')
print(f'你输入的第一个句子为:{listA1}' )
print(f'你输入的第一个句子为:{listB1}' )

#拆分后排序
listA =list(listA1)
listB =list(listB1)
listA.sort()
listB.sort()

#将拆分内容放入集合,去掉重复后转成列表获取下标
C =set(listA+listB)
listC=list(C)
listC.sort()

#创建两个空列表
freqlsitA=[]
freqlsitB=[]

#根据两个列表的数据并集 求向量列表的长度
for i in range(len(listC)):
    freqlsitA.append(str(f'{i}'))
    freqlsitB.append(str(f'{i}'))

#根据数据并集内容判断是否存在,若存在则计数放在与集合同位置的地方,若不存在,则将同位置修改为0
for i,j in enumerate(listC):
    if j in listA:
        freqlsitA[listC.index(j)] = listA.count(j)
    else:
        freqlsitA[listC.index(j)] = 0
    if j in listB:
        freqlsitB[listC.index(j)] = listB.count(j)
    else:
        freqlsitB[listC.index(j)] = 0

#创建三个变量用来存放数学计算所需要的数据内容
a=0
b=0
c=0
for i in range(len(freqlsitA)):
    a += freqlsitA[i]*freqlsitB[i]
    b +=freqlsitA[i] * freqlsitA[i]
    c +=freqlsitB[i] * freqlsitB[i]

#余弦值等于相乘累计 处于平方累计之后平方根的相乘
COS = a /(math.sqrt(b) *math.sqrt(c))

if COS >0.65:
    print('这两个句子相似')
else:
    print("这两个句子不相似")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/896861.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机毕业设计 基于Python的社交音乐分享平台的设计与实现 Python毕业设计 Python毕业设计选题【附源码+安装调试】

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

重磅发布,Wireshark 4.4.1 修复多个漏洞,性能新升级

号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部 中午好,我的网工朋友 Wireshark 一直以其强大的数据包捕获和分析功能而闻名。作为网络工程师、安全分析师和开发者的重要工具&#x…

【Vercel】Vercel静态部署踩坑

背景 在现代的软件开发中,自动化部署是一个不可或缺的环节。Vercel作为一个流行的前端部署平台,提供了与GitHub的无缝集成,使得开发者能够在每次提交代码后自动触发部署流程。然而,自动化部署过程中可能会遇到一些挑战&#xff0…

15分钟学Go 第6天:变量与常量

第6天:变量与常量 在Go语言中,变量和常量是编程的基础概念。理解如何定义和使用它们不仅能帮助我们管理数据,还能增强代码的可读性和可维护性。在本章中,我们将详细探讨Go语言中的变量和常量,涵盖它们的定义、使用、作…

【小白学机器学习19】统计基础:什么是定量分析,量化的4个层级,因果关系分类等

目录 1 定性分析和定量分析 1.1 两种分析方式 1.2 定性分析 1.3 定量分析 1.3.1 定义 1.3.2 名字 1.4 特点和差异 1.5 两者的关系 1.6 测量的评价:切实,可靠 1.7 关于统计分析 2 定量分析的三段式逻辑:个体 → 样本 → 总体 2.1 …

ArkUI自定义TabBar组件

在ArkUI中的Tabs,通过页签进行内容视图切换的容器组件,每个页签对应一个内容视图。其中内容是图TabContent作为Tabs的自组件,通过给TabContent设置tabBar属性来自定义导航栏样式。现在我们就根据UI设计的效果图来实现下图效果: 根…

react18中如何实现同步的setState来实现所见即所得的效果

在react项目中,实现添加列表项,最后一项自动显示在可视区域范围!! 实现效果 代码实现 import { useState, useRef } from "react"; import { flushSync } from "react-dom"; function FlushSyncRef() {con…

关于Pytest fixture,我们了解多少?

关于Pytest fixtures,根据官方文档介绍:fixture用于提供一个固定的基线,使 Cases 可以在此基础上可靠地、重复地执行。 对比 PyUnit 经典的setup/teardown形式,它在以下方面有了明显的改进: fixture拥有一个明确的名称…

Linux 之 fdisk 【磁盘分区管理】

删除分区 1.查看磁盘信息 lsblk 2.删除分区sdb硬盘下的所有分区 # 1 进入d的磁盘分区 fdisk /dev/sdb # 2 输入p查看磁盘的分区信息 # 3 输入d进入删除磁盘分区命令 # 4 选择要删除的分区号 重复3,4 全部删除 # 5 w 保存退出并生效操作信息 (输入q…

postman使用——在公司的项目落地回顾总结

背景 使用postman做接口自动化以及有差不多一年了,迭代更新了也差不多一年了,本篇文章主要介绍与总结: 为什么使用postman做自动化如何使用postman做接口自动化实际落地的方案实施postman优势与限制 为什么使用postman做接口自动化 有以下…

ORACLE在企业中的运用及岗位介绍

微思 | Oracle 19C OCP 认证培训 厦门面授班 | 全国直播班 同步上课 课程介绍:Oracle OCP 19C课程介绍 培训讲师—吴振兴 往期考试战报:【ORACLE战报】 OCP 认证 OCP :Oracle 数据库认证专家( Oracle Certified Professional…

【Linux系列】在 Linux 中使用 `watch` 命令监控 Docker 容器状态

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

【Linux】僵尸进程和孤儿进程

一、僵尸进程 何为僵尸进程? 在 Unix/Linux 系统中,正常情况下,子进程是通过父进程创建的,且两者的运行是相互独立的,父进程永远无法预测子进程到底什么时候结束。当一个进程调用 exit 命令结束自己的生命时&#xff…

FineReport 全局参数

全局参数与模板参数的区别如下: 1)全局参数:当前工程下的所有模板都可以使用。 2)模板参数:只有当前模板才可以使用 注:全局参数 area 并不是在当前模板下创建的,但是可以在模板中直接调用 全…

C++ 十进制数转换成7进制字符串

题目要求&#xff1a; 给定一个整数 num&#xff0c;将其转化为 7 进制&#xff0c;并以字符串形式输出。 C源码&#xff1a; #include "stdafx.h" #include <String> using namespace std;string convertToBase7(int num) {int tempNum num;char t;string…

WGCLOUD可以监控GPU吗

可以的 采集主机GPU信息功能&#xff0c;是WGCLOUD v3.5.5新增的一个功能模块&#xff0c;所以需要升级到v3.5.5或者以上版本 我们在主机管理的列表页面&#xff0c;点击【查看更多】->【扩展监控】按钮&#xff0c;就可以看到该主机的GPU信息 agent每间隔10分钟就会采集一…

DES对称加密算法

DES&#xff08;Data Encryption Standard&#xff0c;数据加密标准&#xff09;是一种对称加密算法。 算法概述 加密类型&#xff1a;对称加密&#xff08;同一密钥用于加密和解密&#xff09;。密钥长度&#xff1a;64位&#xff08;8字节&#xff09;&#xff0c;其中有效…

基于SSM网络在线考试系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;学生管理&#xff0c;在线考试管理&#xff0c;试题管理&#xff0c;考试管理&#xff0c;系统管理 前台账号功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;在线考试&#xff0c;公告信…

最新物流行业CRM系统应用数字化解决方案

因势利导 ——全球化物流的挑战与机遇 在全球经济一体化与互联网技术快速发展的双重驱动下,物流行业正经历着前所未有的变革时期。这一变革不仅影响 着行业的发展模式,还对运营效率和客户体验提出了新的要求。 随着市场需求的不断演变,物流行业已呈现出多元化和专业 化并行的发…

OpenCV双目视觉三角测量代码实现C++

在双目视觉系统中&#xff0c;三角测量是一种基于几何原理的三维重建技术&#xff0c;通过分析同一场景在两个不同视角下的二维图像来确定物体的三维坐标。这种方法的核心在于利用摄像机的内参和相对位姿&#xff08;由旋转矩阵和平移向量描述&#xff09;&#xff0c;将图像中…