欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

5.4 SVM的使用建议-机器学习笔记-斯坦福吴恩达教授

发布时间:2025/4/5 编程问答 17 豆豆
生活随笔 收集整理的这篇文章主要介绍了 5.4 SVM的使用建议-机器学习笔记-斯坦福吴恩达教授 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

SVM的使用建议

使用流行库

作为当今最为流行的分类算法之一,SVM 已经拥有了不少优秀的实现库,如 libsvm 等,因此,我们不再需要自己手动实现 SVM(要知道,一个能用于生产环境的 SVM 模型并非课程中介绍的那么简单)。

在使用这些库时,我们通常需要声明 SVM 需要的两个关键部分:

  • 参数 CCC
  • 核函数(Kernel)
    由于 CCC 可以看做与正规化参数 λλλ 作用相反,则对于 CCC 的调节:
    • 低偏差,高方差,即遇到了过拟合时:减小 CCC 值。
    • 高偏差,低方差,即遇到了欠拟合时:增大 CCC 值。

    而对于核函数的选择有这么一些 tips:

    • 当特征维度 n 较高,而样本规模 m 较小时,不宜使用核函数,否则容易引起过拟合。
    • 当特征维度 n 较低,而样本规模 m 足够大时,考虑使用高斯核函数。不过在使用高斯核函数前,需要进行特征缩放(feature scaling)。另外,当核函数的参数 δδδ 较大时,特征 fif_ifi 较为平缓,即各个样本的特征差异变小,此时会造成欠拟合(高偏差,低方差)

      δδδ 较小时,特征 fif_ifi 曲线变化剧烈,即各个样本的特征差异变大,此时会造成过拟合(低偏差,高方差)

      不是所有的相似度评估手段都能被用作SVM核函数,他们需要满足 Mercer 理论

    多分类问题

    通常,流行的SVM库已经内置了多分类相关的 api,如果其不支持多分类,则与逻辑回归一样,使用 One-vs-All 策略来进行多分类:

  • 轮流选中某一类型 iii ,将其视为正样本,即 “1” 分类,剩下样本都看做是负样本,即 “0” 分类。
  • 训练 SVM 得到参数 θ(1),θ(2),...,θ(K)θ^{(1)},θ^{(2)},...,θ^{(K)}θ(1),θ(2),...,θ(K) ,即总共获得了 K−1K−1K1 个决策边界。
  • 分类模型的选择

    目前,我们学到的分类模型有:(1)逻辑回归;(2)神经网络;(3)SVM。怎么选择在这三者中做出选择呢?我们考虑特征维度 nnn 及样本规模 mmm

    • 如果 nnn 相对于 mmm 非常大,例如 n=10000n=10000n=10000 ,而 m∈(10,1000)m∈(10,1000)m(10,1000) :此时选用逻辑回归或者无核的 SVM。
    • 如果 nnn 较小, m 适中,如 n∈(1,1000)n∈(1,1000)n(1,1000) ,而 m∈(10,10000)m∈(10,10000)m(10,10000) :此时选用核函数为高斯核函数的 SVM。
    • 如果 nnn 较小, mmm 较大,如 n∈(1,1000)n∈(1,1000)n(1,1000) ,而 m>50000m>50000m>50000 :此时,需要创建更多的特征(比如通过多项式扩展),再使用逻辑回归或者无核的 SVM。

    神经网络对于上述情形都有不错的适应性,但是计算性能上较慢。

    总结

    以上是生活随笔为你收集整理的5.4 SVM的使用建议-机器学习笔记-斯坦福吴恩达教授的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。