博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
向量非零元素个数_向量范数详解+代码实现
阅读量:4962 次
发布时间:2019-06-12

本文共 1242 字,大约阅读时间需要 4 分钟。

950395dd3b69a12a5b1375b17ff48fa2.png

向量范数是什么??

两个标量我们可以比较大小,比如1,2,我们知道2比1大。但是现在如果是两个向量(1,2,1) (2,2,0),我们如何比较大小呢?此时我们把一个向量通过不同的方法,映射到一个标量,从而可以比较大小,这个标量学名就叫做“范数”。

向量范数也可以分为0范数,1范数,2范数,p范数,

范数等。

向量范数

为方便理解,在介绍向量范数之前,我们先定义一个简单向量:

import numpy as npX = np.array([-2,5,0,-3,4])# X 为 [-2  5  0 -3  4]

0-范数

向量0-范数表示向量非零元的个数。

#向量零范数def norm_0(X):    return sum([1 for x in X if x])norm_0(X)# X的零范数为 4

1-范数

a14025c42d3cba3ca06e8304c7583998.png

向量1-范数也就是求X向量各元素之和。

#向量1-范数def norm_1(X):    return sum([abs(x) for x in X])norm_1(X)# X的1-范数为 14

2-范数

c09be4086bb1bb9f85fb37196e736105.png

向量2-范数又欧几里德范数,也就是求X向量各元素平方和,再开方。

#向量2-范数def norm_2(X):    return (sum([x*x for x in X])) ** (1.0/2)norm_2(X)# X的2-范数为 7.348

p-范数

617c866851b70ee96c65bd56fabd02b3.png

向量

-范数也就是求X向量各元素绝对值的
次方之和,再开
次方。
#向量p-范数def norm_p(X,p):    return (sum([abs(x)**p for x in X])) ** (1.0/p)norm_p(X,1)  # p取1,结果为 14.0norm_p(X,2)  # p取2,结果为 7.348norm_p(X,3)  # p取3,结果为 6.073

-范数

7eeb86cf003df6d734c9cc6bd4cb86ca.png

所有向量元素绝对值的最大值。

#向量无穷-范数def norm_inf(X):    return max([abs(x) for x in X])norm_inf(X) # X的无穷-范数为 5

-范数

d2af3f4823ab203b7ac6963cda2eba75.png

所有向量元素绝对值的最小值。

#向量负无穷-范数def norm_finf(X):    return min([abs(x) for x in X])norm_finf(X)# X的负无穷-范数为 0

向量范数毕竟是一维的,总体上来说还是易于理解的,接下来我们看看二维矩阵的范数情况~

向量范数的性质

1.正定性:

,当

2.齐次性:

3.三角不等式:

范数在机器学习中的应用

机器学习中常用L1范数和L2范数来进行正则化,因为机器学习中往往需要最小化损失函数Loss function,而最小化Loss function的过程中,模型参数不加以限制就容易导致过拟合,所以我们使用L1范数和L2范数把参数向量转化成一个可以度量的标量,同时加上最小化的约束,就达到了控制模型参数的目的从而防止过拟合。

转载地址:http://dwhhp.baihongyu.com/

你可能感兴趣的文章
Python实现斐波那契数列
查看>>
yarn命令的使用
查看>>
使用公式C=(5/9)(F-32)打印下列华氏温度与摄氏温度对照表。
查看>>
hdu 2586 How far away ? 倍增求LCA
查看>>
深入理解内存模型JMM
查看>>
万事不要太过强求
查看>>
HDU 3410【单调栈】
查看>>
一些网络教程的传送门
查看>>
[POI2013]BAJ-Bytecomputer
查看>>
加油,加油
查看>>
开发流程
查看>>
UIPageViewController
查看>>
BeanUtils简化数据封装
查看>>
2017.4.25PM
查看>>
推箱子
查看>>
弹飞绵羊
查看>>
ecshop和ucenter的整合
查看>>
SQL中Group By的使用
查看>>
Python基础练习
查看>>
12 KLT算法
查看>>