CH3 最小二乘学习法

重点提炼

提出最小二乘学习法的缘故:

最小二乘学习法公式

对不同模型进行最小二乘法学习,得到最小二乘公式中的参数theta:

1.线性模型

  代入3.1公式,对参数求偏导,偏导=0时误差J有极值,此时  

① 延伸1:线性模型中的基函数可以是三角多项式

② 延伸2:加权最小二乘学习法

2.核模型

计算参数的方法与线性模型一样,只是把线性模型中的基函数置换成: 

如果基函数是n*b的矩阵,且这两个值非常大时的处理方式----随机梯度法

1.n或b很大导致的问题:内存不足

2.使用随机梯度法的前提:最小二乘学习公式中的J是凸函数,否则不能得到全局最优的最小二乘法参数解

3.随机梯度法的流程

这里的J还是最小二乘学习公式中的J,只是这里我们不再直接套用公式:得到最小二乘的参数解,而是采用随机梯度法的方法得到最小二乘法中的参数。

4.随机梯度法提出的缘由:

不断迭代,使得现在参数与目标参数的差值无线接近一个很小的值,即3.3公式中的diata要趋向于0.

5.随机梯度法的收敛速度:由步幅以及diata值决定,要合理调整这些参数值。

P24

通过运行代码学习

“对线性模型进行最小二乘法学习,其中线性模型基函数是三角多项式”

在服务器这个地址下运行matlab:

输入书上代码..........

变量解释:

1)

x: 50*1的列向量,值域[-3,3],从小到大排列

X:1000*1的列向量,值域[-3,3],从小到大排列

x与X是自己设置的,x是训练数据的输入,X是测试数据的输入,50与1000可以看成是样本数目

2)

r是50*1列向量,值域是随机的,y是训练数据的目标输出值

x与y都是用来训练得到参数的

3)

p: 50*1的列向量,初始化1

P:1000*1的列向量,初始化1

赋值三角函数值后:

p: 50*31的矩阵      P:1000*31的矩阵

p与P是x与X对应的基函数

这里的基函数可以看成是n(样本数)*b(参数个数)的矩阵

4)

由理论知识得:通过x的目标函数以及x的基函数p,可以得到p\y结果就是要求的最小二乘法中的参数t,当参数t得到之后,就能满足最小二乘法的式子最小,即能够保证最接近目标函数输出值,噪声最小

5)

得到参数后,又有了测试数据的X,知道基于X值的基函数P,通过P与参数t,得到测试数据的输出值F=P*t

6)

绘图

绿色线表示的是测试集;蓝色圆圈表示的是训练集;用训练集对线性模型进行最小二乘法学习,得到最小二乘法参数,其中线性模型基函数是三角多项式。用同样的参数,同样的基函数对应的线性模型,得到测试输出结果。所以y与F的包络是一样的。

P30

通过运行代码学习

部分与p24代码类似;用训练数据x与y得到最小二乘的参数t,其中c用随机的xi;得到t之后,要用测试数据的X与参数得到测试集的预测值F,其中k中的c用训练数据x

迭代次数o不同,收敛结果也不同:

for o=1:1 for o=1:50for o=1:50000

P24

补充知识来理解书上内容

1)绘图基本matlab语言

2)Matlab 输入help plot可以查到 这些画图参数的意义

3)Matlab中的/与\区别

对于标量的运算来说
a/b 相当于a除以b
b\a 相当于b除a
对于矩阵运算来说,一个矩阵的逆矩阵,相当于普通运算的倒数,所以
a/b 相当于a乘以b的逆
b\a 相当于b的逆乘以a

P25

补充知识来理解书上内容

矩阵正交性指的是矩阵与矩阵的转置相乘=单位矩阵

P30

补充知识来理解书上内容

1)

所以这里的代码中c用随机的xi来表示

2)Matlab 中 rand*n表示取n数之内的随机数;Matlab中ceil表示取整

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

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

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

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

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

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

    CH5 稀疏学习 重点提炼 提出稀疏学习的缘故: 虽然带有约束条件的最小二乘学习法结合交叉验证法,在实际应用中是非常有效的回归方法,但是,当参数特别多时,计算参数以及预测值需要大量时间.此时,我们要解 ...

  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. 《大数据日知录》读书笔记-ch3大数据常用的算法与数据结构

    布隆过滤器(bloom filter,BF): 二进制向量数据结构,时空效率很好,尤其是空间效率极高.作用:检测某个元素在某个巨量集合中存在. 构造: 查询: 不会发生漏判(false negativ ...

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

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

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

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

随机推荐

  1. 使用FormData格式上传图像并预览图片

    前言 做项目时,遇到表单中图像需要跟表单一起提交,这样会造成后台没办法接收到图片.后面上网调查后,明白表单提交时是默认application/x-www-form-urlencoded格式,只接受键值 ...

  2. 横向tab计算滚动位置

    React横向滚动计算 class Footer extends React.Component { handleClick(e) { const offset = 150; // 指定偏移量 thi ...

  3. Reasoning and Learing学习笔记

    Assignment 1 question 1 1.clisp安装及运行->参考博客 2.参数为列表,参考PPT 3.把嵌套列表变成非嵌套->题目P07 代码

  4. HDU 1850 Nim-Sum思想总结、

    算法介绍: Nim游戏是指两个对手在m个堆中轮流随意从某一个堆中拿出n个元素,假定两个对手都是足够聪明,直至最后一次取的人将所有元素取出,此人取得胜利.与之相反的是Misere游戏,相同的游戏规则,但 ...

  5. linux inode 结构

    inode 结构由内核在内部用来表示文件. 因此, 它和代表打开文件描述符的文件结构是不 同的. 可能有代表单个文件的多个打开描述符的许多文件结构, 但是它们都指向一个单个 inode 结构. ino ...

  6. tp框架使用心得(六)——分页查询

    http://baijiahao.baidu.com/s?id=1578482537511010805&wfr=spider&for=pc 在用thinkphp中,对于新手手册中还是有 ...

  7. Codeforces Round #564 (Div. 2)

    传送门 参考资料 [1]: the Chinese Editoria A. Nauuo and Votes •题意 x个人投赞同票,y人投反对票,z人不确定: 这 z 个人由你来决定是投赞同票还是反对 ...

  8. 几种常见排序算法的基本介绍,性能分析,和c语言实现

    本文介绍6种常见的排序算法,以及他们的原理,性能分析和c语言实现: 为了能够条理清楚,本文所有的算法和解释全部按照升序排序进行 首先准备一个元素无序的数组arr[],数组的长度为length,一个交换 ...

  9. vue-axios当只调用vue.js又需要axios请求多时

    可以将axios方法封装一个函数 (function () { ASK = { get:function (url,data,succFun,errFun) { axios.get(url,{ par ...

  10. 使用 node.js三行代码实现手机端访问html页面文件

    首先确保你安装了node (全局安装) npm install -g browser-sync // --files 路径是相对于运行该命令的项目(目录) browser-sync start --s ...