zoukankan      html  css  js  c++  java
  • 《机器学习基石》---非线性变换

    1 非线性变换

    所谓非线性变换,就是把原始的特征做非线性变换,得到一个新的特征,使用这个新的特征来做线性的分类,则对应到原始的特征空间中,相当于做了非线性的分类。非线性变换的好处是,算法将有更多的选择,Ein可以做的更低。

    例如使用二次变换:

    则Z空间中的一个直线分类边界,对应到原来空间中是一个二次曲线边界。可能是圆,椭圆,双曲线,抛物线,旋转后的椭圆,直线.......。

    使用非线性变换进行学习的步骤如下:

    2 非线性变换的代价

    Q次非线性变换如下定义:

     

    对应的Z空间的特征维度变为:

    特征维度的增加,一方面带来的是存储和计算的代价:

    更重要的另一个代价则是模型复杂度的代价。假设空间的VC维近似等于参数的个数:

    而更大的VC维将使得Ein和Eout相差很远这件事的概率增加。这是机器学习中一个重要的trade off:

    一种错误的认识是,通过观察数据来让Ein做的小,同时让VC维也小。例如:

     

     咋看之下,Ein降低了,VC维减小。Ein确实很低,但是VC维真的很低了吗?答案是否定的。产生这样错误认识的原因是我们没有很好的理解之前推导VCbound时“假设空间”这一概念。事实上,由于有人的观察帮忙,假设空间已经不再是我们让算法做选择的那个函数集,而是人在做选择时人脑中的假设空间。因此这里的VC维其实并不单单是我们让算法做选择的那个函数集VC维。

    3 结构化假设空间

    从0次到Q次的非线性变换,它们对应的假设空间范围是逐渐变大的,并且后一个包含了前一个:

    VC逐渐变大,Ein逐渐变小:

    因此一个实用的建议是,先尝试线性模型,如果Ein不够好再把模型复杂度慢慢往上加。一定不要一开始就用很复杂的非线性变换:

  • 相关阅读:
    再论 ASP.NET 中获取客户端IP地址
    修改MariaDB 路径
    CentOS MariaDB 安装和配置
    asp.net core 使用protobuf
    Xamarin绑定微信SDK 实现分享功能
    iOS中转义后的html标签如何还原
    MvvmCross框架在XamarinForms中的使用入门
    Xamarin.Form 初学 之 服务引用-WCF服务引用
    程序员求职面试三部曲之三:快速适应新的工作环境
    程序员求职面试三部曲之二:提高面试的成功率
  • 原文地址:https://www.cnblogs.com/coldyan/p/6346734.html
Copyright © 2011-2022 走看看