zoukankan      html  css  js  c++  java
  • 如何通俗易懂地解释「协方差」与「相关系数」的概念?

    作者:傅渥成
    链接:https://www.zhihu.com/question/20852004/answer/16393656
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    看到这个问题,马上想到我那天回答的另一个问题了。我们在刻画这个世界之间的各种关系的时候,常常会希望度量“距离”:
    1. 对于空间中的两个点,我们可以用勾股定理定义平方和作为距离;
    2. 对于两个二进制序列,或者两段基因序列,我们可以用汉明距离来度量二者之间的差异,作为“距离”;
    3. 那么假如对于两个复杂的量(描述这两个量可能用很多很多的参数),那么这时候怎样度量二者之间的“相关性”呢?

    按照真正的逻辑顺序来讲,应该是这样讲的:

    把所有的这些复杂的参数排成一列,就拍成了一个向量,很多很多的这样的向量构成了一个向量空间。向量空间里面的东西没有“距离”这样的概念,对于一个向量空间里面的向量,甚至没有“长度”这样的概念,因为向量空间只是一个代数结构,没有度量或者拓扑的概念在其中,那这时候怎样度量向量的长度来呢?接下来,又怎样来确定两个向量之间的“距离”呢?

    对于一个可以定义距离的结构(度量空间),我们需要有一些要求,认为满足这些要求的一个函数就可以认为是距离,例如我们要求:A到B的距离等于B到A的距离,A到A的距离等于0,两个点之间的距离非负,三角不等式。那么对于一个向量空间,怎样可以最自然地给它一个“范数”,使得它有可能推广到一个距离空间(度量空间)呢?最自然的方法就是引入“内积”的概念了,通过内积的运算,得到内积空间,再用内积来定义距离(范数),于是也就有可能得到距离空间。

    为什么内积空间可以变成一个度量空间呢?这就是我在“学一门课的时候,要注意理解和思考,不要一味的背公式,背习题是什么意思?”这个问题里面,我反复用到了 Cauchy 不等式,目的也正在此。Cauchy 不等式为我们提供了判断两个向量是否相关的方案:(ab)/|a||b| 可以作为度量相关性的一个函数,而它的直观意义是什么,请看下面。

    —————————————这是一条分割线——————————————

    好了,截止到目前,都是我认为一个比较正常,且不算太难的一种解释的方法,如果觉得这样理解起来还有困难,那么接下来就只能用能让中学生听懂的,最直观的方法了,但是我并不喜欢这样直观的讲法,因为这个讲法的逻辑是很混乱的,事先就引入了很多不应该过早引入的概念,不过为了帮助理解,也就这样吧:

    • 有两个向量,我们希望定义它们是不是相关。一个很自然的想法,用向量与向量的夹角来作为距离的定义,夹角小,就距离小,夹角大,就距离大。
    • 但是怎样来计算夹角呢?为了让这种计算可行,我们要选一种恰当的三角函数来算。
    • 正弦函数的不太好的一个原因是因为加上个90°,正弦算出来得到的结果一样,而两个向量的夹角是30°还是120°这是完全的两码事,此外,正弦函数也不适合推广到高维度向量的计算中的“两两比较”。
    • 那么考虑用余弦吧,这个可以很方便地区分30°和120°,而且还有一个好处——余弦的计算非常简单,用内积就可以计算了,中学数学中就学过: (x1,y1)・(x2,y2)=x1x2+y1y2,这就是内积,你要是喜欢,也可以把这个叫做“协方差”。
    • 但是这个内积的定义很奇怪哎?要是两个向量本身就长,那这个也算不出夹角来,所以再要除以两个向量本身的长度,即,夹角:cos <a, b> =(ab)/|a||b|;
    • 这样,那么两个量是不是相关,怎么来判断?就用余弦的大小就可以了,我们把两个向量的夹角的余弦,就叫做“相关系数”,正如上面的式子所指出的,写开了就是:

    • 分子上面的就是一个内积的计算,也就是前面我说的“协方差”,分子下面是两个勾股定理乘起来,是两个向量的长度。如果两个向量平行,则它们夹角的余弦(也就是“相关系数”)就等于1或者-1,同向的时候是1,反向的时候就是-1。如果两个向量垂直,则夹角的余弦就等于0,说明二者不相关。
    • 再写我都不好意思了,我觉得这样应该很容易就可以懂了……
  • 相关阅读:
    人工智能背后的故事
    idea 开发插件。
    安卓工作室 Android studio 或 Intellij IDEA 美化 修改 汉化 酷炫 装逼 Android studio or Intellij IDEA beautify modify Chinesization cool decoration
    安卓工作室 android studio文件和代码模板,以及汉化出错问题
    安卓工作室 android studio 汉化后,报错。 设置界面打不开。Can't find resource for bundle java.util.PropertyResourceBundle, key emmet.bem.class.name.element.separator.label
    android studio的汉化 教程 及解析
    安卓工作室Android Studio 快捷键
    安卓工作室 android studio 的 汉化 美化 定制 Android studio's Chinesization beautification customization
    VR开发 VR development
    Lakeshore 中文开发界面,示例项目,飞机大战 等 Lakeshore Chinese development interface, sample project, aircraft war, etc
  • 原文地址:https://www.cnblogs.com/timlong/p/10036261.html
Copyright © 2011-2022 走看看