CH5 稀疏学习

重点提炼

提出稀疏学习的缘故:

虽然带有约束条件的最小二乘学习法结合交叉验证法,在实际应用中是非常有效的回归方法,但是,当参数特别多时,计算参数以及预测值需要大量时间。此时,我们要解决这个问题。

稀疏学习思路:

把大部分参数都设置为0,这样就能快速计算参数以及预测值。

L1约束的最小二乘学习法:

公式

求解得到参数theta

代码实现的流程图

通过稀疏学习进行特征选择

1.“一个特征一个特征地依次减少的向后删除法”以及“一个一个特征地依次增加的向前选择法”提出的原因:在d各特征值中做特征选择,就需要事先对2^d次维组合的优劣进行评估,计算时间是以输入维数d为基数指数级增长的。所以会提出前向选择法以及后向删除法。

2.通过稀疏学习进行特征选择的优势:比起“一个特征一个特征地依次减少的向后删除法”以及“一个一个特征地依次增加的向前选择法”,l1约束的稀疏学习做特征选择,可以在一定程度上考虑到各个特征之间的相互联系,在实际应用中,往往能得到更好的特征组合。

3.举例:

lp约束的最小二乘学习法

1.lp约束的最小二乘学习法中的约束条件:是更为普遍的条件,是p大于等于0的lp范数约束方法

2.公式:

3.最优解:当p=1时,是稀疏解存在的唯一凸形

l1+l2约束的最小二乘学习法/弹性网回归学习法

1.提出的原因:l1约束的最小二乘学习法的局限性:

① 当参数b>训练样本数n时,l1约束最小二乘学习法的非0参数个数最多为n

② 当参数b<训练样本数n时,l1约束最小二乘学习法的通用性能比l2约束的最小二乘学习法稍差

2.解决方法:利用l1+l2范数的凸结合来进行约束

P49

通过运行代码学习

初始化50个参数

当t-t0的绝对值<0.001时这个循环就结束

结果:与p42中l2约束的最小二乘学习法结合交叉验证方法得到的拟合曲线结果没有太大差别。可是在这过程中,l1约束的最小二乘学习法不用像p42中的l2约束+交叉验证要跑完所有的循环,而只需要设定一个收敛值,小于这个收敛值就可以跳出循环了。

为什么书中说参数大多是0?现在还不理解,因为代码变量追踪,t中并没有很多参数<0.001即等于0

P49

补充知识来理解书上内容

Matlab 中pinv函数

Matlab 中diag函数

《图解机器学习-杉山将著》读书笔记---CH5的更多相关文章

  1. 《图解机器学习-杉山将著》读书笔记---CH4

    CH4 带有约束条件的最小二乘法 重点提炼 提出带有约束条件的最小二乘学习法的缘故:   左图中可见:一般的最小二乘学习法有个缺点----对于包含噪声的学习过程经常会过拟合 右图:有了空间约束之后,学 ...

  2. 《图解机器学习-杉山将著》读书笔记---CH1

    CH1 什么是机器学习 重点提炼 机器学习的种类: 常分为:监督学习.无监督学习.强化学习等 监督学习是学生从老师那获得知识,老师提供对错指示 无监督学习是在没有老师的情况下,学生自习 强化学习是在没 ...

  3. 《图解机器学习-杉山将著》读书笔记---CH3

    CH3 最小二乘学习法 重点提炼 提出最小二乘学习法的缘故: 最小二乘学习法公式 对不同模型进行最小二乘法学习,得到最小二乘公式中的参数theta: 1.线性模型   代入3.1公式,对参数求偏导,偏 ...

  4. 《图解机器学习-杉山将著》读书笔记---CH2

    CH2 学习模型 重点提炼 学习模型作用: 使特定函数与数据集相近似 学习模型类型: 1.线性模型 (1)最简单的线性模型,缺点:只能表现线性的输入输出函数,不能很好地解决实际问题 (2)基于参数的线 ...

  5. 机器学习介绍(introduction)-读书笔记-

    一,什么是机器学习 第一个机器学习的定义来自于 Arthur Samuel.他定义机器学习为,在进行特定编程的情况下,给予计算机学习能力的领域.Samuel 的定义可以回溯到 50 年代,他编写了一个 ...

  6. LogisticRegression Algorithm——机器学习(西瓜书)读书笔记

    import numpy as np from sklearn.datasets import load_breast_cancer import sklearn.linear_model from ...

  7. C#温故知新:《C#图解教程》读书笔记系列

    一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...

  8. 《C#图解教程》读书笔记之一:C#和.NET框架

    本篇已收录至<C#图解教程>读书笔记目录贴,点击访问该目录可获取更多内容. 一.在.NET之前的编程世界 C#语言是在微软公司的.NET框架上开发程序而设计的,首先作者给大家纠正了一下C# ...

  9. 《C#图解教程》读书笔记之二:存储、类型和变量

    本篇已收录至<C#图解教程>读书笔记目录贴,点击访问该目录可获取更多内容. 一.类型初窥:掀起你的盖头来 (1)C程序是一组函数和数据类型,C++程序是一组函数和类,而C#程序是一组类型声 ...

随机推荐

  1. Python第三方包的egg info 是什么东西

    xxx.egg-info 一般与 xxx文件夹同时存在,一起来表示完整模块.

  2. jieba中文分词源码分析(四)

    一.未登录词问题在jieba中文分词的第一节曾提到未登录词问题 中文分词的难点 分词规范,词的定义还不明确 (<统计自然语言处理>宗成庆)歧义切分问题,交集型切分问题,多义组合型切分歧义等 ...

  3. Python--day69--单表查询之神奇的双下划线

    单表查询之神奇的双下划线: 单表查询之神奇的双下划线 models.Tb1.objects.filter(id__lt=10, id__gt=1) # 获取id大于1 且 小于10的值 models. ...

  4. Python--day42--mysql操作数据库及数据表和基本增删改查

    sql语法规则: 一.操作文件夹 1.创建数据库db2:create database db2; 2.创建数据库db2并标明数据库的编码格式为utf8:create database db2 defa ...

  5. Scrap简介

    原文:https://blog.csdn.net/ssw_1990/article/details/51254227 提到Python与网络爬虫,可能会想到urllib,urllib2,Beautif ...

  6. vue-learning:22 - js - directives

    directives 在讲解视图层指令时,我们讲到ref特性,使用它我们可以获取当前DOM元素对象,以便执行相关操作. <div id="app"> <input ...

  7. 用es5实现模板字符串

    废话不多说,主要是利用正则表达式replace+eval动态取值(纯属娱乐) String.prototype.myReplace = function(){ return this.replace( ...

  8. asp.net core web api 发布到iis失败 错误500.19

    找了很久,发现是没有装DotNetCore.2.0.0-WindowsHosting.exe的原因. 还是官方文档最给力.部署时遇到问题的朋友可以参考官方文档 https://docs.microso ...

  9. cisco网络设备IOS升级步骤

    step1:检查和备份================================================================4507R#write4507R#copy run ...

  10. .net webapi 文件夹上传

    如果我是DJ,是DJ,是DJ,是DJ,是DJ,是DJ,是DJ,是DJ,是DJ,是DJ,,, 前言 文件夹上传目前仅支持chrome内核的浏览器. 后期整理到git(2019-5-23说:不整理了,我要 ...