Linear Regression(线性回归)(二)—正规方程(normal equations)
(整理自AndrewNG的课件,转载请注明。整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/)
在上篇博客中,我们提出了线性回归的概念,给出了一种使代价函数最小的方法:梯度下降法。在本篇博客中,我们给出另一种方法:正规方程。
是关于
的函数,要求此函数的最小值,有人说可以求导啊,另
,求出相应的
即可,本文提出的就是此方法。但是由于
是一个矩阵(向量是特殊的矩阵),我们需要关于矩阵求导方面的知识。
1 矩阵求导
假设函数将
阶矩阵映射到实数空间,我们定义
对于
阶矩阵
求导为:
,
所以导函数也是阶的矩阵。例如假设:
,
而,求
:

另外介绍矩阵迹的概念:对于一个的矩阵
,它的迹就是它的对角线的元素求和:
,矩阵的迹有如下的性质:

上述介绍了矩阵函数的求导法则和矩阵迹的概念,下面给出一些后面要用到的结论:

2 正规方程
大家不用太纠结于基础知识,只是一个推到工具而已,下面才是正题。磨好工具,就去砍柴吧:
我们的任务是对代价函数求导:即令,然后解出
。给定训练集,定义设计矩阵(design matrix)
,其中
是输入特征的维数,
是训练集中训练样本的个数。将
写成下列形式:

同样,定义目标向量:
,由于,于是得到:

另外对于向量,我们有
,所以:

由
显然: (1),
so:
注意在推导过程中,步骤4我们用到了公式(1),令。令导函数的值为0,我们得到正规方程:

解出:
好了,这就是我们要学习的。
总结一下:整篇充斥着公式推导,但思路很简单:欲求代价函数的最小值,令其导函数为0,求出参数即可。最后提点建议,机器学习中是有很多公式推倒的内容,本人认为结论固然重要,但得来的过程也很重要,只有知其然并知其所以然,才能对背后的思想有更深刻的认识。检验自己是否弄懂了公式:看自己能否独立推导出结果。
Linear Regression(线性回归)(二)—正规方程(normal equations)的更多相关文章
- Linear Regression 线性回归
Motivation 问题描述 收集到某一地区的房子面积和房价的数据(x, y)42组,对于一套已知面积的房子预测其房价?   由房价数据可视化图可以看出,可以使用一条直线拟合房价.通过这种假设得 ...
- Spark2 Linear Regression线性回归
回归正则化方法(Lasso,Ridge和ElasticNet)在高维和数据集变量之间多重共线性情况下运行良好. 数学上,ElasticNet被定义为L1和L2正则化项的凸组合: 通过适当设置α,Ela ...
- Linear Regression(线性回归)(一)—LMS algorithm
(整理自AndrewNG的课件,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) 1.问题的引出 先从一个简单的例子说起吧,房地产公司有一些关于Po ...
- 机器学习 1 linear regression 作业(二)
这个线性回归的作业需要上传到https://inclass.kaggle.com/c/ml2016-pm2-5-prediction 上面,这是一个kaggle比赛的网站.第一次接触听说这个东西,恰好 ...
- 线性回归 Linear regression(3) 线性回归的概率解释
这篇博客从一种方式推导了Linear regression 线性回归的概率解释,内容来自Standford公开课machine learning中Andrew老师的讲解. 线性回归的概率解释 在Lin ...
- Andrew Ng机器学习 一: Linear Regression
一:单变量线性回归(Linear regression with one variable) 背景:在某城市开办饭馆,我们有这样的数据集ex1data1.txt,第一列代表某个城市的人口,第二列代表在 ...
- Multivariance Linear Regression练习
%% 方法一:梯度下降法 x = load('E:\workstation\data\ex3x.dat'); y = load('E:\workstation\data\ex3y.dat'); x = ...
- 转载 Deep learning:三(Multivariance Linear Regression练习)
前言: 本文主要是来练习多变量线性回归问题(其实本文也就3个变量),参考资料见网页:http://openclassroom.stanford.edu/MainFolder/DocumentPage. ...
- 【ML】求解线性回归方程(Linear Regression)
参考资料:openclassroom 线性回归(Linear Regression) 为了拟合10岁以下儿童年龄(x1)与身高(y)之间的关系,我们假设一个关于x的函数h(x): h(x) = Θ0+ ...
随机推荐
- oracle语句块调用
如果要写一个临时的语句块调用某个过程,可以参照以下方式: declare cursor v_is is select distinct aac001 from sic84 where aab001=5 ...
- pl/sql 中F8执行单行sql
pl/sql中设置: tools->preferences->sql window->AutoSelect statement
- 【 D3.js 入门系列 — 4 】 如何使用比例尺( scale )
上一章中使用了一个很重要的概念 — 比例尺( scale ),本节将解说其使用方法. 1. 最大值和最小值 在介绍比例尺( scale )之前,先介绍两个经常和比例尺一起出现的函数,在[第3章]中也出 ...
- windows环境下Mongodb分片配置
使用MongoDB的GridFS来存储文件,以前一直使用单个服务,分布式环境也一直没有配置成功,今天参考了几位大神的文章终于配置成功,再也不用担心文件存储的性能和安全啦.以下是自己部署的过程和示例,记 ...
- vc++窗口的创建过程(MFC消息机制的经典文章)
一.什么是窗口类 在Windows中运行的程序,大多数都有一个或几个可以看得见的窗口,而在这些窗口被创建起来之前,操作系统怎么知道该怎样创建该窗口,以及用户操作该窗口的各种消息交给谁处理呢?所以VC ...
- [置顶] 深入ResourceBundle
ResourceBundle是java开发中非常实用的一个类,主要用来处理应用程序多语言这样的国际化问题. 如果你的应用程序如果有国际化的需求,可以考虑使用ResourceBundle, 你要做的就是 ...
- android Listview,gridview局部刷新,部分刷新
众所周知Listview和Gridview的刷新界面的方式是调用adapter.notifyDataSetChanged()进行界面刷新. 但是此方法有其弊端,他是将界面中的数据全部刷新一遍,不论数据 ...
- 【Unity 3D】学习笔记四十:射线
射线 射线,类比的理解就是游戏中的子弹.是在3D世界里中一个点向一个方向发射的一条无终点的线.在发射的过程中,一旦与其它对象发生碰撞,就停止发射. 射线的原理 创建一个射线时,首先须要知道射线的起点和 ...
- [转载] iOS开发分辨率那点事
1 iOS设备的分辨率 iOS设备,目前最主要的有3种(Apple TV等不在此讨论),按分辨率分为两类 iPhone/iPod Touch 普屏分辨率 320像素 x 480像素 Retina ...
- 国产CPU走到十字路口:谁来取代英特尔芯片?(少写了一个OpenPower)
国内的几支CPU研发力量各自选择的指令体系都有自己的优点和问题,选择其中的哪一支都会有对应的成本和风险.最终谁能担大任,且拭目以待. 文 | 瞭望智库特约科技观察员 王强 用上内置国产CPU的个人电脑 ...