非线性转换(Nonlinear Transformation)

前面讲了许多线性模型,但是假如数据并不是线性可分的,该如何处理呢?基本思路是将数据样本(特征)空间 X\mathcal{X}X 映射到 Z\mathcal{Z}Z 空间后,在 Z\mathcal{Z}Z 空间数据是线性可分的话,便可以在 Z\mathcal{Z}Z 空间上使用线性模型对数据分析。

那么该映射叫做非线性特征转换 Φ\PhiΦ((nonlinear) feature transform )实现的是:
x∈X⟼Φz∈Z\mathbf { x } \in \mathcal { X } {\mathop \longmapsto ^ \mathbf { \Phi }} \mathbf { z } \in \mathcal { Z } x∈X⟼Φz∈Z
学习的基本步骤如下:

  • transform original data {(xn,yn)}\left\{ \left( \mathbf { x } _ { n } , y _ { n } \right) \right\}{(xn​,yn​)} to {(zn=Φ(xn),yn)}\left\{ \left( \mathbf { z } _ { n } = \mathbf { \Phi } \left( \mathbf { x } _ { n } \right) , y _ { n } \right) \right\}{(zn​=Φ(xn​),yn​)}
  • get a good perceptron w~\tilde { \mathbf { w } }w~ using {(zn=Φ(xn),yn)}\left\{ \left( \mathbf { z } _ { n } = \mathbf { \Phi } \left( \mathbf { x } _ { n } \right) , y _ { n } \right) \right\}{(zn​=Φ(xn​),yn​)} and your favorite linear classification algorithm A\mathcal{A}A。
  • return g(x)=sign⁡(w~TΦ(x))g ( \mathbf { x } ) = \operatorname { sign } \left( \tilde { \mathbf { w } } ^ { T } \mathbf { \Phi } ( \mathbf { x } ) \right)g(x)=sign(w~TΦ(x))

常用的非线性转换 (General Nonlinear Transform)

General Quadratic Hypothesis Set

基本形式为:
Φ2(x)=(1,x1,x2,x12,x1x2,x22)\Phi _ { 2 } ( \mathbf { x } ) = \left( 1 , x _ { 1 } , x _ { 2 } , x _ { 1 } ^ { 2 } , x _ { 1 } x _ { 2 } , x _ { 2 } ^ { 2 } \right) Φ2​(x)=(1,x1​,x2​,x12​,x1​x2​,x22​)
其具有的特性是

  • can implement all possible quadratic curve boundaries: circle, ellipse, rotated ellipse, hyperbola, parabola, …
    适用于各种二次曲线边界:圆,椭圆,旋转椭圆,双曲线,抛物线…
  • include lines and constants as degenerate cases
    也包括直线型和常数型

General PolynomialHypothesis Set

基本形式为:
Φ0(x)=(1),Φ1(x)=(Φ0(x),x1,x2,…,xd)Φ2(x)=(Φ1(x),x12,x1x2,…,xd2)Φ3(x)=(Φ2(x),x13,x12x2,…,xd3)ΦQ(x)=(ΦQ−1(x),x1Q,x1Q−1x2,…,xdQ)\begin{aligned} \Phi _ { 0 } ( \mathbf { x } ) = ( 1 ) , \Phi _ { 1 } ( \mathbf { x } ) & = \left( \Phi _ { 0 } ( \mathbf { x } ) , \quad x _ { 1 } , x _ { 2 } , \ldots , x _ { d } \right) \\ \Phi _ { 2 } ( \mathbf { x } ) & = \left( \Phi _ { 1 } ( \mathbf { x } ) , \quad x _ { 1 } ^ { 2 } , x _ { 1 } x _ { 2 } , \ldots , x _ { d } ^ { 2 } \right) \\ \Phi _ { 3 } ( \mathbf { x } ) & = \left( \Phi _ { 2 } ( \mathbf { x } ) , \quad x _ { 1 } ^ { 3 } , x _ { 1 } ^ { 2 } x _ { 2 } , \ldots , x _ { d } ^ { 3 } \right)\\ \Phi _ { Q } ( \mathbf { x } ) &= \left( \begin{array} { c c } \Phi _ { Q - 1 } ( \mathbf { x } ) , & \left. x _ { 1 } ^ { Q } , x _ { 1 } ^ { Q - 1 } x _ { 2 } , \ldots , x _ { d } ^ { Q } \right) \end{array} \right.\end{aligned} Φ0​(x)=(1),Φ1​(x)Φ2​(x)Φ3​(x)ΦQ​(x)​=(Φ0​(x),x1​,x2​,…,xd​)=(Φ1​(x),x12​,x1​x2​,…,xd2​)=(Φ2​(x),x13​,x12​x2​,…,xd3​)=(ΦQ−1​(x),​x1Q​,x1Q−1​x2​,…,xdQ​)​​
那么在经过特征转换后的 hypothesis set 可以表示为
HΦ0⊂HΦ1⊂HΦ2⊂HΦ3⊂…⊂HΦQ∥∥∥∥∥H0H1H2H3…HQ\begin{array} { c c c c c c c c c } \mathcal { H } _ { \Phi _ { 0 } } & \subset & \mathcal { H } _ { \Phi _ { 1 } } & \subset & \mathcal { H } _ { \Phi _ { 2 } } & \subset & \mathcal { H } _ { \Phi _ { 3 } } & \subset & \ldots & \subset & \mathcal { H } _ { \Phi _ { Q } } \\ \| & & \| & & \| & & \| & & & &\| \\ \mathcal { H } _ { 0 } & & \mathcal { H } _ { 1 } & & \mathcal { H } _ { 2 } & & \mathcal { H } _ { 3 } & & \ldots & & \mathcal { H } _ { Q } \end{array} HΦ0​​∥H0​​⊂​HΦ1​​∥H1​​⊂​HΦ2​​∥H2​​⊂​HΦ3​​∥H3​​⊂​……​⊂​HΦQ​​∥HQ​​
可以绘制出结构图:

所以其结构叫做嵌套(nested) Hi\mathcal { H } _ { i }Hi​ 。

非线性转换代价(Price)

对于多项式非线性转换来说,求取 gi=argmin⁡h∈HiEin(h)g _ { i } = \operatorname { argmin } _ { h \in \mathcal { H } _ { i } } E _ { \mathrm { in } } ( h )gi​=argminh∈Hi​​Ein​(h),可以获得以下结果:
H0⊂H1⊂H2⊂H3⊂⋯dVC(H0)≤dVC(H1)≤dVC(H2)≤dVC(H3)≤⋯Ein(g0)≥Ein(g1)≥Ein(g2)≥Ein(g3)≥⋯\begin{array} { c c c c c c c c c} \mathcal { H } _ { 0 } & \subset & \mathcal { H } _ { 1 } & \subset & \mathcal { H } _ { 2 } & \subset & \mathcal { H } _ { 3 } & \subset & \cdots \\ d _ { \mathrm { VC } } \left( \mathcal { H } _ { 0 } \right) & \leq & d _ { \mathrm { VC } } \left( \mathcal { H } _ { 1 } \right) & \leq & d _ { \mathrm { VC } } \left( \mathcal { H } _ { 2 } \right) & \leq & d _ { \mathrm { VC } } \left( \mathcal { H } _ { 3 } \right) & \leq & \cdots \\ E _ { \mathrm { in } } \left( g _ { 0 } \right) & \geq & E _ { \mathrm { in } } \left( g _ { 1 } \right) & \geq & E _ { \mathrm { in } } \left( g _ { 2 } \right) & \geq & E _ { \mathrm { in } } \left( g _ { 3 } \right) & \geq & \cdots \end{array} H0​dVC​(H0​)Ein​(g0​)​⊂≤≥​H1​dVC​(H1​)Ein​(g1​)​⊂≤≥​H2​dVC​(H2​)Ein​(g2​)​⊂≤≥​H3​dVC​(H3​)Ein​(g3​)​⊂≤≥​⋯⋯⋯​

根据之前推导的公式可知:1⏟W0+d~⏟others dimensions =O(Qd)\underbrace { 1 } _ { W _ { 0 } } + \underbrace { \tilde { d } } _ { \text {others } } \text { dimensions } = O \left( Q ^ { d } \right)W0​1​​+others d~​​ dimensions =O(Qd),所以 QQQ large 意味着 large dvcd_{\mathbf{vc}}dvc​。即能力越来越大,复杂度会随之不断增加。

而在分析 VC Dimension 时得出了下面关于EinE_{\text {in}}Ein​,EoutE_{\text {out}}Eout​以及模型复杂度随 dvcd_{\mathbf{vc}}dvc​ 的变化曲线图:

所以说能力越大,不一定越适用,在实际运用时,线性先行,从最简单的试起。许多情况下线性模型:简单(simple), 有效(efficient), 安全(safe), 且可行(workable)!

机器学习基石 之 非线性转换(Nonlinear Transformation)相关推荐

  1. 机器学习 | 台大林轩田机器学习基石课程笔记12 --- Nonlinear Transformation

    课程主页 课程视频和PPT 上一节课,我们介绍了分类问题的三种线性模型,可以用来解决binary classification和multiclass classification问题.本节课主要介绍非 ...

  2. 机器学习基石12:非线性变换(Nonlinear Transformation)

    本文介绍了非线性变换的整体流程:通过非线性变换,将非线性模型映射到另一个空间,转换为线性模型,再来进行线性分类. 之后介绍了非线性变换存在的问题:时间复杂度和空间复杂度的增加. 最后证明了非线性变换的 ...

  3. 台湾大学林轩田机器学习基石课程学习笔记12 -- Nonlinear Transformation

    红色石头的个人网站:redstonewill.com 上一节课,我们介绍了分类问题的三种线性模型,可以用来解决binary classification和multiclass classificati ...

  4. 机器学习基石12-Nonlinear Transformation

    注: 文章中所有的图片均来自台湾大学林轩田<机器学习基石>课程. 笔记原作者:红色石头 微信公众号:AI有道 上一节课介绍了分类问题的三种线性模型,可以用来解决binary classif ...

  5. 【机器学习】线性(linear)与非线性(nonlinear)分类器区别

    背景 在机器学习中,主要解决分类任务或回归任务,在这两者中,分类任务更为常见. 分类任务又分为线性(linear)分类和非线性(nonlinear)分类,本文主要介绍线性分类和非线性分类的区别. 区别 ...

  6. 机器学习基石作业03:二阶泰勒展开,特征转换,逻辑回归

    本文总结机器学习基石的第三次作业,主要包括误差函数.特征转换.二阶泰勒展开,以及线性回归,逻辑回归的实现. 问题1和问题2:关于线性回归问题中 E i n E_{in} Ein​和 E o u t E ...

  7. 台大机器学习基石学习笔记

    台大机器学习基石学习笔记 标签(空格分隔): 机器学习 目录 台大机器学习基石学习笔记 目录 Lecture 1 The Learning Problem Course Introduction Wh ...

  8. 《机器学习基石》第12节课学习笔记

    第12节课  Nonlinear Transformation 这节课主要介绍了非线性分类模型,通过非线性变换,将非线性模型映射到另一个空间,转换为线性模型,再来进行线性分类.本节课完整学习了非线性变 ...

  9. 机器学习基石(林軒田)笔记之十二

    Nonlinear Transformation(非线性转换) 回顾 在第十一讲中我们介绍了如何通过(logistic)回归来处理二分类问题,以及如何通过OVA/OVO分解来解决多分类问题. Quad ...

最新文章

  1. UCZProgressView CALayer旋转
  2. 头号小游戏玩家科普指南
  3. 【莫队】区间不同数(金牌导航 莫队-1)
  4. Gartner:PaaS 和平台架构领域的 4 大趋势 | 技术头条
  5. Exchange 2016 之移动设备邮箱策略
  6. 【运动学】基于matlab Singer模型算法机动目标跟踪【含Matlab源码 1157期】
  7. 240.搜索二维矩阵II(力扣leetcode) 博主可答疑该问题
  8. 《东周列国志》第七十二回 棠公尚捐躯奔父难 伍子胥微服过昭关
  9. 全国省市区三级JSON 包括地区编码
  10. bat篇---windows bat启动exe结尾的可执行程序
  11. mysql 修改max_allowed_packet_Mysql修改max_allowed_packet参数
  12. 6ES7513-1AL02-0AB0的技术参数
  13. 浪潮服务器SSD盘咋查看信息,浪潮存储为你揭秘:保障SSD数据可靠性的“黑科技”...
  14. java当中的定时器的4种使用方式(delay,period)
  15. 64位Windows10+Code::Blocks+CUDA安装教程
  16. 仰天大笑出门去,我辈岂是蓬蒿人。
  17. 多项式(带余)除法学习笔记
  18. JS 调用打印机,打印HTML中的部分内容
  19. centos7.9中mysql5.6数据库安装和配置以及修改端口
  20. [竞赛图判定定理]兰道定理(Landau's Theorem)介绍及其一种证明

热门文章

  1. 微型计算机中bus是指,微机中的bus一词是指什么
  2. 将Windows11的右键快捷键恢复至以前版本
  3. linux grup进入操作系统,Linux操作系统下GRUB引导过程及原理
  4. 苹果总部员工悼念乔布斯
  5. 百马百担问题:100匹马驮100担货物,其中大马驮3担货,中马驮2担,两匹小马驮1担。问共有大、中、小马各有多少匹?编程实现求解的算法。
  6. ethercat环境搭建(igh安装)
  7. db2数据库建表的时候主键怎么建_DB2数据库建表报错
  8. 数据可视化之雷达图:自助数据集处理,完美演绎球员数据可视化
  9. 【python代码实现】朴素贝叶斯分类算法
  10. 统计信号处理基础 习题解答4-2