zoukankan      html  css  js  c++  java
  • 核函数基础一简单解释

    首先给你两个向量 [公式] 。在一般的机器学习方法,比如 SVM 里面,这里一个向量是一个实体。比如一个向量代表一个人。每个向量有两个维度,身高和体重。比如可以有

    [公式]

    现在要求两个人的相似度,最简单的方法是计算它们的内积 [公式] 。这很简单,只要按照维度相乘求和就可以了。

    [公式]

    但是有的时候(比如 SVM 的数据线性不可分的时候),我们可能会想对数据做一些操作。我们可能认为体重的二次方,身高的二次方,或者身高体重的乘积是更重要的特征,我们把这个操作记为过程 [公式] ,比如可能有

    [公式]

    我们认为 [公式][公式] 更能表示一个人的特征。我们再计算两个人的相似度时,使用 [公式][公式] 的内积:

    [公式]

    在上面的操作中,我们总共要计算 11 次乘法,2 次加法

    但是如果我们定义核函数

    [公式]

    那么有

    [公式]

    可以看到 [公式] 。但是这次我们只计算了 3 次乘法,1 次加法

    所以其实核函数就是这么一回事:

    当我们需要先对数据做转换,然后求内积的时候,这样的一系列操作往往成本过高(有时候根本不可能,因为我们可能想要升到无穷维)。

    因此我们可以直接定义一个核函数 K 直接求出做转换后求内积的结果,从而降低运算量。



    作者:SleepyBag
    链接:https://www.zhihu.com/question/24627666/answer/1085861632
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    leetcode 350. Intersection of Two Arrays II
    leetcode 278. First Bad Version
    leetcode 34. Find First and Last Position of Element in Sorted Array
    leetcode 54. Spiral Matrix
    leetcode 59. Spiral Matrix II
    leetcode 44. Wildcard Matching
    leetcode 10. Regular Expression Matching(正则表达式匹配)
    leetcode 174. Dungeon Game (地下城游戏)
    leetcode 36. Valid Sudoku
    Angular Elements
  • 原文地址:https://www.cnblogs.com/qiu-hua/p/12996665.html
Copyright © 2011-2022 走看看