zoukankan      html  css  js  c++  java
  • SVM算法的另外一种理解

    解决一个机器学习问题的一般套路是先构建一个目标函数,然后解决一个优化问题。目标函数通常由损失函数和正则项组成。常见的损失函数log-loss,square-loss,cross-entropy-loss等,常见的正则化方法有L1正则、L2正则等,常见的优化方法有梯度下降、随机梯度下降等。SVM也可以按照这种模式来重新定义。

    首先,损失函数

    ( l(y_i,y_i') = max(0,1-y_iy_i') ),称之为hinge-loss. 实际值y的取值为-1和1,容易看出,只要实际值和预测值不同,损失函数就会大于0,当实际值和预测值相同的时候,预测值的绝对值越大越好

    然后,构建目标函数

    obj(w,b) = (sum_{i=1}^{N}max(0,1-y_i(w dot x_i+b)) + c||w||^2)

    可以证明

    上述目标函数和上篇文章中得到的优化目标

    (min_{w,b}frac{1}{2}||w||^2+Csum_{i=1}^{N}xi_i)

    s.t (y_i(wcdot x_i+b)>=1-xi_i, i=1,2,...N)

    (xi_i>=0,i=1,2,3...N)

    等价

    参考:李航《统计学习方法》

  • 相关阅读:
    Python-模块
    POJ 1631 nlogn求LIS
    POJ 1274 二分图匹配
    POJ 3661 DP
    POJ 3662 二分+Dijkstra
    POJ 3666 DP
    POJ 2373 单调队列优化DP
    祝自己生日快乐
    POJ 2385 DP
    POJ 3122 Pie 二分答案
  • 原文地址:https://www.cnblogs.com/naniJser/p/6892059.html
Copyright © 2011-2022 走看看