在线性代数(一)中,小夕主要讲解了映射与矩阵的关系;在线性代数(二)中,小夕讲解了映射视角下的特征值与特征向量的物理意义。本文与下一篇会较为透彻的解析一下向量的二范数一范数,他们在机器学习任务中是最常用,有时甚至是核心的东西哦。

首先,来一个俗俗的开篇。向量x的p范数表示如下:

由此,p=1、p=2就分别代表1范数和2范数。本文只看p=2的情况。

二范数相信大家在大一学线性代数的时候就已经被灌输了“用来度量向量长度””用来度量向量空间中两个点的距离“这两个典型意义,但是却鲜有学校讲过最小化二范数会带来什么有趣的现象,而这正是二范数在机器学习中非常重要的应用。

我们经常在机器学习的loss函数中加上参数的2范数项,以减少模型对训练集的过拟合,即提高模型的泛化能力。那么问题来了,2范数凭什么可以提高模型的泛化能力呢?使用参数2范数约束项一定好吗?

首先我们把model的参数设为向量w=[w1,w2,...,wn]。这个w是什么呢?是model参数,更是特征的权重。更加具体点说,每个参数,决定了每个特征对决定样本所属类别的重要程度。

那么用参数向量的二范数做正则项时即(忽略归一化的问题):

而我们训练的过程就是最小化loss函数的过程,因此一部分任务就是尽可能的减小Reg的值。那么怎样的w值才算是符合理想要求的值呢?比如维度n=5的情况,

  1. 令w1=w2=w3=w4=w5=2

  2. 令w1=10,w2=w3=w4=w5=0

1和2相比,哪个的Reg更小呢?显然前者的值只有20,而后者的值高达100!虽然1和2的情况下所有w的值加起来都等于10。

由这个例子可以看出,如果我们有10张用于决定类别的票分给各个特征,那么给每个特征分两张票带来的回报要远大于把这10张票分给一个特征!所以二范数会削弱强特征,增强弱特征,以共产主义为目标!反对资本主义!(什么鬼

然后在上面这个前提下,尽量的降低票数(然而这不重要,一共有10张票跟一共有100张票相比没有影响,毕竟真正起作用的是票的分配方式(当然,这里没有考虑梯度饱和等优化问题哈

这种劫富济贫的方式有什么好处呢?

举个栗子。假设我们要做文本的情感分类(判断一段文本是正面评价还是负面评价),将每个词作为一个特征(出现该词代表值为1,否则值为0)。

可想而知,有一些词本身就带了很强的情感极性,比如“不好”、“不满意”、“惊喜”等。而大部分词是弱极性的,但是多个弱极性的词同时出现的时候就会产生很强的情感极性。比如“总体”“来说”“还是”“可以”在文本中同时出现后基本就奠定了这篇文本的总体极性是正面的,哪怕文本中出现了(“待机”)“很烂”这种强负面词。

因此在二范数的约束下,w这个随机变量的分布会趋向于方差u=0的高斯分布(正态分布)。

有人说,诶?那高斯分布的话,那也有极少的特征的值特别大呀~为什么没有被削弱呢?

这些特征当然就是超强特征啦,比如“力荐”这个特征一旦出现,基本整个文本的情感极性就确定了,其他的弱特征是很难与之对抗的。所以最小化二范数会让随机变量的采样点组成的向量趋向于期望=0的高斯分布。

所以,若没有二范数的约束,弱特征会被强特征剥削,最终训练完后各个特征的权重很有可能是这样的:

(画的有点夸张啦,但是表达的意思是没错哒

这样会带来什么问题呢?这样就会导致模型过分依赖强特征。

首先,试想一下,这样的model拿到测试集上去后,一旦某个样本没有任何强特征,导致该样本的特征的权重几乎都是0,也就是这些特征都是被认为的中性词,那么就会导致这个样本的分类很随机了,哪怕这个样本的弱特征很多而且足以反映情感极性,然而学习的过程中这些弱特征被认为没有用而被当成了噪声,或者正值或者负值,那就悲剧啦。而在二范数约束带来的高斯分布下,弱特征们就会有条不紊的慢慢积累起很确定的情感极性完成置信度很高的分类过程。

再想一下,这样的model的抗噪声能力也会非常差,一旦测试集中的某个样本中出现了一个强特征词,就会直接导致整篇文章的情感极性随了这个强特征,哪怕这个样本的这个强特征词之外都是弱弱的相反极性词也无力挽救了。而在二范数约束带来的高斯分布下,手中多少也有点票的弱特征们就会聚沙成塔,合力打倒那个强特征的噪声。

那么是不是所有的机器学习任务加上二范数约束就一定好呢?

相信经过小夕上述的讲解,您心中已经有答案啦~在一些机器学习任务,尤其一些结构化数据挖掘任务和特征意义很模糊的机器学习任务(比如深度学习)中,特征分布本来就是就是若干强特征与噪声的组合,这时加上2范数约束反而会引入噪声,降低系统的抗噪性能,导致更差劲了。

因此,使用二范数去提高机器学习model的泛化能力大部分情况下是没错的,但是也不要无脑使用哦,懂得意义后学会根据任务去感性与理性的分析才是正解啦。

线性代数应该这样讲(三)-向量2范数与模型泛化相关推荐

  1. 线性代数 范数_计算数据科学的向量p范数线性代数iv

    线性代数 范数 In the Linear Algebra Series, to give you a quick recap, we've learned what are vectors, mat ...

  2. Matlab与线性代数 -- 向量的范数

    Matlab与线性代数 – 向量的范数

  3. [线性代数] 向量的范数(Norm)

    [线性代数] 向量的范数(Norm): ​ 向量范数是向量模(长度)这一概念的推广.向量的L-p范数是一个标量,定义为: ∣∣x∣∣p=(∑i=1n∣xi∣p)1p||x||_p = (\sum_{i ...

  4. python 向量二范数_向量的范数| 使用Python的线性代数

    python 向量二范数 Prerequisite: 先决条件: Defining Vector using Numpy 使用Numpy定义向量 Here, we are going to learn ...

  5. 干货来袭!!!3天0基础Python实战项目快速学会人工智能必学数学基础全套(含源码)(第1天)线性代数篇:矩阵、向量及python实战

    第1天:线性代数篇:矩阵.向量.实战编程 第2天:微积分篇:极限与导数.梯度下降.积分.实战编程 第3天:概率分析篇:条件概率与全概率.贝叶斯公式.实战项目 目录 前言 一.矩阵在AI中的应用 二.矩 ...

  6. 【线性代数本质】1:向量究竟是什么

    文章目录 一:不同的人如何看待向量 二:坐标系中的向量表示 三:坐标系中向量加法和数乘 (1)相加 (2)数乘 一:不同的人如何看待向量 向量的概念我们再熟悉不过了,他们在不同人眼中是不一样的 学物理 ...

  7. 向量范数证明例题_第八课:向量的范数

    写在前面的话: 很高兴能够认识饭卡里还有好多钱这位土豪大佬.向大佬学习,为成为一名真正的段子手+逗比而奋斗. 范数的概念 向量的范数是一种用来刻画向量大小的一种度量.实数的绝对值,复数的模,三维空间向 ...

  8. 斯坦福NLP名课带学详解 | CS224n 第2讲 - 词向量进阶(NLP通关指南·完结)

    作者:韩信子@ShowMeAI,路遥@ShowMeAI,奇异果@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/36 本文地址:https://ww ...

  9. 【机器学习|数学基础】Mathematics for Machine Learning系列之线性代数(11):向量组的线性相关性

    文章目录 前言 往期文章 4.2 向量组的线性相关性 定义4 线性相关/无关 特殊情况 定理4 举例 例4 例5 例6 定理5 结语 前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错 ...

最新文章

  1. centos 5.5 mysql 5.5.39_CentOS 5.5 下安装 Mysql 5.5
  2. 苹果手机4g网速慢怎么办_2020 年双十一建议学生党买 4G 苹果手机吗?
  3. Python+selenium 自动化-读取excel记录的脚本执行登陆操作实战演示
  4. 实现ModelDriver接口的功能(转)
  5. 从编译器层面理解C#中的闭包的这个坑!
  6. string::size_type
  7. python 示例_Python日历类| yeardatescalendar()方法与示例
  8. Android投屏(屏幕共享)设计需要考虑的关键因素
  9. Android 要收费?周鸿祎:这是迟早的事!
  10. 富文本编辑器Editor.md入门
  11. UIStepper (加减符号)(步进控件)
  12. 8. 数仓开发之 DIM 层
  13. 三星电子中国研究院招聘CV、NLP、语音/音频工程师和实习生
  14. 2022年金砖国家职业技能大赛(决赛)网络空间安全赛项 | 浙江赛区选拔赛 任务书
  15. IBM WebSphere 9.0.5 笔记大全
  16. linux主分区扩容
  17. 关于中科院力学所怀柔试验基地被非法拆毁的严正声明 ZZ
  18. 设计模式 - 软件设计的七大原则
  19. qq群淘客怎么引流?淘客新手如何利用qq群引流?
  20. 物联网控制原理与技术--基于Matlab/利用MATLAB进行频域分析(伯德图)的应用(超详细/设计/实验/作业/练习)

热门文章

  1. [整理]详记被忽略的Get与Post
  2. DateTime和字符串转换问题
  3. C++ 0x 使用可变参数模板类 实现 C# 的委托机制
  4. 编写Web前端代码的注意事项
  5. 常用的匹配正则表达式
  6. SQL Server 2000中的数据转换服务 (DTS)
  7. 武汉工程大学计算机学院研究生难吗,武汉工程大学考研难吗?一般要什么水平才可以进入?...
  8. IAudioEndpointVolume
  9. clone是深拷贝还是浅拷贝_Python中的浅拷贝和深拷贝
  10. 【Pytorch神经网络实战案例】15 WGAN-gp模型生成Fashon-MNST模拟数据