12.支持向量机

觉得有用的话,欢迎一起讨论相互学习~Follow Me

12.4 核函数与标记点- Kernels and landmarks

问题引入

  • 如果你有以下的训练集,然后想去拟合其能够分开正负样本的非线性判别边界。

    • 一种办法是构造一个复杂多项式特征的集合:
      \[h_{\theta}(x)=\begin{cases}
      1\ \ if\ \ \theta_{0}+\theta_{1}x_1+\theta_{2}x_2+\theta_{3}x_1x_2+\theta_{4}x_{1}^{2}+\theta_{5}x_{2}^{2}+...\ge 0\\
      0\ \ otherwise\ \
      \end{cases}
      \]
  • 然而类似于\(x_1x_2或x_1^2及x_2^2\)等人为定义的特征是不是最好的呢?我们能不能通过函数来进行学习得到更复杂拟合度更高的特征来解决非线性问题呢?此时我们可以借助于待定系数法,把不同的特征看做是待定的未知的目标进行确定 , 使用\(f_n\)表示待定的目标特征。
    • 即新的表达式为:
      \[h_{\theta}(x)=\begin{cases}
      1\ \ if\ \ \theta_{1}f_1+\theta_{2}f_2+\theta_{3}f_3+\theta_{4}f_4+\theta_{5}f_5+\theta_{6}f_6+...\ge 0\\
      0\ \ otherwise\ \
      \end{cases}
      \]

      特征构建

  • 假设此处需要构建3个新特征。
    • 首先在坐标\(x_1和x_2\)上选取三个 地标(landmark) \(l^{(1)},l^{(2)},l^{(3)}\)
    • 然后给定一个样本x, 定义特征\(f_1\)为样本x和地标\(l^{(1)}\)的相似度
      \[f_1=similarity(x,l^{(1)})=exp(-\frac{||x-l^{(1)}||^2}{2\sigma^{2}})\]
    • 同样的 定义特征\(f_2\)为样本x和地标\(l^{(2)}\)的相似度
      \[f_2=similarity(x,l^{(2)})=exp(-\frac{||x-l^{(2)}||^2}{2\sigma^{2}})\]
    • 类似的 定义特征\(f_3\)为样本x和地标\(l^{(3)}\)的相似度
      \[f_3=similarity(x,l^{(3)})=exp(-\frac{||x-l^{(3)}||^2}{2\sigma^{2}})\]
  • 此处的 相似度函数 即\(exp(-\frac{||x-l^{(n)}||^2}{2\sigma^{2}})\) 就是所说的 核函数 ,而核函数有很多种,即有很多种不同的定义相似度的方法,此处的核函数被称为 高斯核函数(Gaussian Kernel)

    核函数和相似度

  • 公式的展开项如下图所示,从图中可以看出
    • 当x和landmark十分接近时,特征值为约等于1
    • 当x和landmark距离很远时,特征值为约等于0

      高斯核函数(Gaussian Kernel)

  • 假设 地标1 的坐标为(3,5),使用3D图中,即时水平面上对应的坐标为(3,5),核函数使用高斯核,其中 \(\sigma^{2}=1\)
  • 等高线表示函数下降的速度 ,以下显示不同\(\sigma\) 对高斯函数陡峭程度的影响,很明显看出 \(\sigma=0.5\) 时下降更快,而 \(\sigma=3\) 时下降速度减缓:

    特征点及边界确定过程

  1. 规定当\(\theta_0+\theta_{1}f_1+\theta_{2}f_2+\theta_{3}f_3\ge 0\)时输出1
  2. 假设已经得到参数为\(\theta_0=-0.5,\theta_1=1,\theta_2=1,\theta_3=0\)
    1. 当给定的训练样本为图中 粉色点 时,此时由于x距离l1较近,所以根据高斯核模型,f1约等于1;而x距离l2,l3都较远,所以f2,f3约等于0
    2. 此时,将上述参数带入,则\(\theta_0+\theta_{1}f_1+\theta_{2}f_2+\theta_{3}f_3\)的值约等于0.5大于0,因此这个点预测的y值为1
    3. 当给定的训练样本为图中 蓝绿色点 时,此时由于x距离l1,l2,l3都较远,根据高斯核模型,f1,f2,f3都约等于0,此时,将上述参数带入,则\(\theta_0+\theta_{1}f_1+\theta_{2}f_2+\theta_{3}f_3\)的值约等于-0.5,因此这个点预测的y值为0
  3. 当你对 大量 的训练样本都进行这样的处理,最终会发现一条由大量点组成的 边界 ,显示 距离各个地标何种距离下 输出预测y会为1,否则y会为0.
  4. Note 在预测时,采用的不是训练实例本身的特征,而是通过核函数计算出的新特征\(f_1,f_2,f_3\)

[吴恩达机器学习笔记]12支持向量机4核函数和标记点kernels and landmark的更多相关文章

  1. [吴恩达机器学习笔记]12支持向量机5SVM参数细节

    12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.5 SVM参数细节 标记点选取 标记点(landma ...

  2. [吴恩达机器学习笔记]12支持向量机3SVM大间距分类的数学解释

    12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.3 大间距分类背后的数学原理- Mathematic ...

  3. [吴恩达机器学习笔记]12支持向量机2 SVM的正则化参数和决策间距

    12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.2 大间距的直观理解- Large Margin I ...

  4. [吴恩达机器学习笔记]12支持向量机1从逻辑回归到SVM/SVM的损失函数

    12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.1 SVM损失函数 从逻辑回归到支持向量机 为了描述 ...

  5. [吴恩达机器学习笔记]12支持向量机6SVM总结

    12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 12.6SVM总结 推荐使用成熟的软件包 用以解决 SVM 最优化问题的软件很复杂,且已经有研究者做了很多年数值优化.因此强烈 ...

  6. 吴恩达机器学习笔记(六) —— 支持向量机SVM

    主要内容: 一.损失函数 二.决策边界 三.Kernel 四.使用SVM (有关SVM数学解释:机器学习笔记(八)震惊!支持向量机(SVM)居然是这种机) 一.损失函数 二.决策边界 对于: 当C非常 ...

  7. 吴恩达机器学习笔记45-使用支持向量机(Using A SVM)

    本篇我们讨论如何运行或者运用SVM. 在高斯核函数之外我们还有其他一些选择,如:多项式核函数(Polynomial Kernel)字符串核函数(String kernel)卡方核函数( chi-squ ...

  8. Coursera-AndrewNg(吴恩达)机器学习笔记——第一周

    一.初识机器学习 何为机器学习?A computer program is said to learn from experience E with respect to some task T an ...

  9. Machine Learning——吴恩达机器学习笔记(酷

    [1] ML Introduction a. supervised learning & unsupervised learning 监督学习:从给定的训练数据集中学习出一个函数(模型参数), ...

随机推荐

  1. Java 学习笔记 ------第四章 认识对象

    本章学习目标: 区分基本类型与类类型 了解对象与参考的关系 从打包器认识对象 以对象观点看待数组 认识字符串的特性 一."=" 和 "==" 当=用于基本类型时 ...

  2. 基础系列(5)—— C#控制语句

    语句是程序中最小程序指令.C#语言中可以使用多种类型的语句,每一种类型的语句又可以通过多个关键字实现.以下是C# 语言中使用的主要控制语句 类别 关键字 选择语句  if.else.switch.ca ...

  3. a6

    组员:陈锦谋 今日内容: 界面按钮.icon制作,PS学习 明日计划: 继续 困难: 时间不多吧,今天主要电气实践

  4. 模拟登入教务处(header)

    import HTMLParser import urlparse import urllib import urllib2 import cookielib import string import ...

  5. 团队作业4——第一次项目冲刺(Alpha版本)第三次

    一.会议内容 制定任务内容 制作leangoo表格 初步工作 二.各人工作 成员 计划任务 遇见难题 贡献比 塗家瑜(组长) api搭建 无 1 张新磊 数据库搭建完成 无 1 姚燕彬 功能测试 无 ...

  6. C#高级编程(第六版)学习:第三十一章:Windows窗体

    第三十一章 Windows窗体 创建Windows窗体应用程序 在文本编辑器中输入: /* * form.cs * a simple windows form * */ using System; u ...

  7. 第三章 ServerSpcket用法详解

    构造ServerSocket ServerSocket的构造方法如下: ServerSocket() //Creates an unbound server socket. ServerSocket( ...

  8. MySQL 备份和恢复 理论知识

    为什么要备份 数据无价   制定备份策略的注意点 1:可容忍丢失多少数据     2:恢复需要在多长时间内完成     3:备份的对象   数据.二进制日志和InnoDB的事务日志.SQL代码(存储过 ...

  9. jQuery之属性

    1. 操作任意属性 attr() 操作非布尔值的 removeAttr() prop() 操作布尔值的2. 操作class属性 addClass() 添加class属性 removeClass() 移 ...

  10. "firstday"-软件工程

    阅读以下文章 http://www.thea.cn/news/terminal/9/9389.html    http://www.shzhidao.cn/system/2015/09/22/0102 ...