SVM: 相对于logistic regression而言SVM的 cost function与hypothesis
2016-02-01 20:15
423 查看
很多学习算法的性能都差不多,关键不是使用哪种学习算法,而是你能得到多少数据量和应用这些学习算法的技巧(如选择什么特征向量,如何选择正则化参数等)
SVM在解决非线性问题上提供了强大的方法。
logistic regression的h(x)
如果y=1,则我们希望h(x)接近于1,即希望θTx要远远大于0
logistic regression的cost function
当y=1时的cost function如左图,用粉红色的两段直线近似的代替cost function,记为cost1(z)(y=1)
当y=0时的cost function如右图,用粉红色的两段直线近似的代替cost function,记为cost0(z)(y=0)
SVM的cost function
我们用cost1(z)(y=1)与cost0(z)(y=0)来代替logistic regression cost function(我们将外面的-移到了里面)中对应的项,然后将1/m去掉(因为cost function整体乘以一个常数求最小值对于取最小值的那个变量来说是不变的),这样我们用A+λB来表示cost function(A是前面的cost term,B是后面的正则化term),在SVM中,我们用CA+B来表示cost function(当C=1/λ时,取最小值的θ与logistic regression取最小值时的θ是一至的),这样我们就通过一个变量(C)来对两个term进行权衡(bias 与variance之间的权衡)。
最后,我们得出在SVM中的cost function如最下面的那个式子。
SVM的预测函数(hypothesis)
不同于logistic regression用来预测概率(0-1之间),在SVM中的hypothesis是直接对结果进行预测,如上图所示,当θTx>=0时,hypothesis = 1;
SVM在解决非线性问题上提供了强大的方法。
logistic regression的h(x)
如果y=1,则我们希望h(x)接近于1,即希望θTx要远远大于0
logistic regression的cost function
当y=1时的cost function如左图,用粉红色的两段直线近似的代替cost function,记为cost1(z)(y=1)
当y=0时的cost function如右图,用粉红色的两段直线近似的代替cost function,记为cost0(z)(y=0)
SVM的cost function
我们用cost1(z)(y=1)与cost0(z)(y=0)来代替logistic regression cost function(我们将外面的-移到了里面)中对应的项,然后将1/m去掉(因为cost function整体乘以一个常数求最小值对于取最小值的那个变量来说是不变的),这样我们用A+λB来表示cost function(A是前面的cost term,B是后面的正则化term),在SVM中,我们用CA+B来表示cost function(当C=1/λ时,取最小值的θ与logistic regression取最小值时的θ是一至的),这样我们就通过一个变量(C)来对两个term进行权衡(bias 与variance之间的权衡)。
最后,我们得出在SVM中的cost function如最下面的那个式子。
SVM的预测函数(hypothesis)
不同于logistic regression用来预测概率(0-1之间),在SVM中的hypothesis是直接对结果进行预测,如上图所示,当θTx>=0时,hypothesis = 1;
相关文章推荐
- Java基础(九)——泛型
- vim+lua
- 2.1-this
- Jquery学习笔记: attr和 prop的区别,以及为html标签自定义属性
- Fork/Join框架
- Ubuntu使用github
- Unity问答第1期
- 无聊写篇博客
- GStreamer开发环境搭建
- 2-6 Java类加载器总结
- MVP模式在Android开发中的应用
- apache用户认证、默认虚拟主机以及域名跳转
- POJ1423 Big Number(数学)
- 迭代器模式
- 探索工作流(六)--多线程
- postgresql中的冻结
- 《JavaScript DOM编程艺术》学习
- Get ADUser Properties
- 在计算机中安装深度操作系统
- 编程之美 - 安排见面会问题