数量堪比自然语言的编程语言,该怎么选择?

淘鞠第渍坐标表示

在数学里,我们通常用坐标来表示向量;而在几何空间中,常常用箭头来表示向量,箭头的长度表示大小(模),方向表示向量的方向。

在二维空间中,一个向量表示如下:

v

=

(

x

,

y

)

其中 x 表示水平方向分量,y 表示竖直方向分量。

向量的模长为:

|

v

|

=

x

2

+

y

2

image-20250910183206403

在三维空间中,一个向量表示如下:

v

=

(

x

,

y

,

z

)

其中 x, y, z 分别是沿三个坐标轴的分量。

向量的模长为:

|

v

|

=

x

2

+

y

2

+

z

2

在N维空间中,一个向量表示如下:

v

=

(

x

1

,

x

2

.

.

x

n

)

其中 x1...xn 分别是各个维度的分量。

向量的模长为:

|

v

|

=

x

2

1

+

x

2

2

+

?

+

x

2

n

二、加减法

向量加法

设定:

a

=

(

x

1

,

y

1

)

,

b

=

(

x

2

,

y

2

)

那么有:

a

+

b

=

(

x

1

+

x

2

,

y

1

+

y

2

)

加法的几何意义,可以使用三角形法则或平行四边形法则来说明:

image-20250910095714904

简单的可以理解为,

a

+

b

就是从坐标原点沿着

a

行进后,再沿着

b

行进。

应用示例image-20250910102403901

假定有两股方向的力,如下:

F

1

=

(

3

,

4

)

,

F

2

=

(

1

,

2

)

那么这两股力的合力为:

F

=

F

1

+

F

2

=

(

3

+

1

,

4

+

2

)

=

(

4

,

6

)

向量减法

设定:

a

=

(

x

1

,

y

1

)

,

b

=

(

x

2

,

y

2

)

那么有:

a

?

b

=

(

x

1

?

x

2

,

y

1

?

y

2

)

加法的几何意义,可以使用三角形法则或平行四边形法则来说明:

image-20250910102038003

简单的可以理解为,

a

?

b

就是从b的终点开始,朝着

a

的终点行进的向量。

应用示例

在船的航行过程中,可以利用向量的减法来获得船和水流的相对速度。

image-20250910111156495

假定船的速度向量为:

v

=

(

8

,

0

)

(

向东 8 m/s

)

水流速度向量为:

v

=

(

3

,

1

)

(

向东 3 m/s,向北 1 m/s

)

那么船相对水流的速度向量为:

v

=

(

8

?

3

,

0

?

1

)

=

(

5

,

?

1

)

表示向东 5 m/s、向南 1 m/s。

三、向量内积

向量的内积又称为点积(Dot Product),内积是两个向量对应分量相乘后求和的一个标量值。

设定:

a

=

(

x

1

,

y

1

)

,

b

=

(

x

2

,

y

2

)

那么有:

a

?

b

=

x

1

x

2

+

y

1

y

2

从几何意义上讲,向量的内积还可以表示如下:

a

?

b

=

|

a

|

|

b

|

cos

θ

具体的证明可以参考下图,将坐标系进行旋转后,可完成推理:

其中 ?θ 表示两个向量的夹角,根据余弦定理可以得出:

假定模长不变,夹角越小,内积则越大

当夹角为90度时(两个向量垂直),此时内积为0

内积的本质等同于向量的投影和模长的乘积

坐标旋转时,内积保持不变

应用示例

我们在电商平台上浏览产品详情时,经常会看到"相似产品"这样的页签,其中会给我们推荐相关的产品。

这种商品推荐的场景便可以基于"余弦相似度"来实现,余弦相似度的核心是仅考虑向量的方向一致,忽略模长的影响。具体实现如下:

将商品信息特征化表述,包括:

类目

品牌

价格区间

颜色 / 尺寸 / 材质

商品标题/描述

图片特征

特征向量归一化

上述的商品特征可以基于Embedding、CNN等算法来提取为特征值。

这些特征值拼接后形成一个统一的商品向量,如下:

g

=

[

x

,

x

,

x

,

x

,

x

,

x

.

.

]

由于不同维度的特征值其模长无法统一,我们需要将其进行归一化(L2归一):

对于其中的

x

k

,其归一后的值为:

X

k

=

x

k

x

2

1

+

x

2

2

+

?

+

x

2

n

L2归一化使用欧几里得范数来计算,最终得到特征向量为:

G

=

[

X

,

X

,

X

,

X

,

X

,

X

.

.

]

归一化后,∥G∥=1,余弦相似度就简化成两个单位向量的点积,只比较方向(特征分布模式),消除了特征值大小的影响。

计算商品特征向量的相似度,获得最相似的N个商品

通过计算向量的点积来比较相似度:

s

i

m

u

l

a

t

y

=

G

?

G

2

向量点积在机器学习中常用于评估特征的方向相似性

四、向量外积

向量的外积又称为叉积(Cross Product),两个向量的外积是一个同时垂直于两者的向量。

设定:

a

=

(

x

1

,

y

1

)

,

b

=

(

x

2

,

y

2

)

那么有:

a

×

b

=

c

向量

c

的模长:

c

=∣

a

∣∣

b

s

i

n

θ

,在几何意义上等同与两个向量为边的平行四边形的面积。

向量

c

的方向:垂直于两个向量构成的平面。

如下图所示:

image-20250910113835076

向量

c

的方向除了垂直之外,还需要遵循右手螺旋定则,也就是对于

a

×

b

=

c

来说,右手四指方向从 a 转向 b,大拇指所指方向就是 c 的方向。所以,

a

×

b

b

×

a

的结果是相反的,即向量外积不满足交换律。

从几何图形上看,向量的外积可以垂直于两个向量组成的平面,当向量平行(共线)时,向量的外积为0。

需要注意的是,向量的外积仅适用于三维图形,在四维及更高维空间中,垂直于两个向量的方向不唯一,而是一个高维子空间,因此无法用一个单一向量来表示。

应用示例

物理学上,我们通过力矩(Torque)来描述一种"让物体转起来的能力"。

比如:

你用扳手拧螺丝,用力的大小、角度和离螺丝中心的距离都会影响拧动的效果。

同样的力,扳手越长(离中心越远),越容易拧动——因为力矩更大。

力矩的公式如下:

τ

=

r

×

F

r 是从旋转中心到施力点的位置向量

??:施加的作用力

力矩是向量 r 和向量 F的外积向量:

力矩的方向:由右手定则决定,表示旋转轴的方向

力矩的大小:等于

|

r

|

?

|

F

|

?

sin

θ

,也就是力度、垂直距离、和角度三者叠加的结果。

五、小试牛刀

下面使用 numpy 来实现本文提到的向量加减法、向量内积和外积计算。

代码示例

import numpy as np

# 定义两个三维向量

a = np.array([3, 4, 0])

b = np.array([4, 0, 3])

# 1?? 向量加法

add = a + b

print("加法 a + b =", add)

# 2?? 向量减法

sub = a - b

print("减法 a - b =", sub)

# 3?? 向量内积(点积)

dot = np.dot(a, b)

print("内积 a · b =", dot)

# 4?? 特征归一化(L2归一)

a_norm = a / np.linalg.norm(a)

b_norm = b / np.linalg.norm(b)

print("归一化后的 a =", a_norm)

print("归一化后的 b =", b_norm)

# 5?? 归一后的余弦相似度

cos_sim = np.dot(a_norm, b_norm)

print("归一后的余弦相似度 =", cos_sim)

# 6?? 向量外积(叉积)

cross = np.cross(a, b)

print("外积 a × b =", cross)

执行上述程序,输出结果如下:

加法 a + b = [7 4 3]

减法 a - b = [-1 4 -3]

内积 a · b = 12

归一化后的 a = [0.6 0.8 0. ]

归一化后的 b = [0.8 0. 0.6]

归一后的余弦相似度 = 0.48

外积 a × b = [ 12 -9 -16]

六、小结

向量的概念早在中学数学、物理学中就已经能接触到了,理解向量和空间几何的结合非常重要。从最简单的加减法就能体会到基本相对量的价值;向量内积更是各种推荐算法、特征相似度计算的基础范式,向量外积在机械工程学中大行其道等等,这些无一证明了向量在现实的数学应用中的重要地位。

下载代码方式:https://pan.quark.cn/s/a4b39357ea24 HTML大屏展示模板是一种用于设计具有视觉冲击力且内容充实的巨型显示屏应用的设计方案,其应用范围广泛,涵盖了数据分析、监控以及决策支持等多个领域。这些模板通常整合了HTML、CSS、JavaScript等多种技术,尤其借助ECharts等数据可视化工具以达成复杂数据的图形化呈现。以下是对相关技术细节的深入说明: 1. **可视化**:数据可视化是将抽象的数据转化为直观的图像或图表的技术手段。这种技术有助于迅速识别数据中的模式、发展趋势和异常情况,使得非专业背景的人员也能轻松理解复杂的数据信息。在大屏展示场景中,可视化通常包含折线图、柱状图、饼图、热力图、地图等多种图表形式。 2. **大数据**:大数据指的是规模庞大、增长迅速、种类多样且数据密度较低的数据集合。在HTML大屏展示中,大数据的应用旨在支持实时或近乎实时的决策制定,例如监控销售业绩、交通流量、能源消耗等关键性能指标。 3. **HTML**:超文本标记语言(HTML)构成了网页内容的基础结构,用于界定页面的布局和元素。在大屏展示模板中,HTML负责构建页面组件,例如标题、段落、图像以及图表容器等。 4. **CSS**:层叠样式表(CSS)用于调控网页的视觉风格和布局结构。在大屏模板设计中,CSS扮演着核心角色,确保设计的响应性、适应性和美观度,包括设定颜色、字体、间距、动画效果等。 5. **ECharts**:ECharts是由百度研发的一款开源JavaScript数据可视化库,能够支持多种图表类型,如折线图、柱状图、散点图等,并提供了丰富的交互特性。在大屏展示中,ECharts能够助力生成动态且交互式的数据...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值