损失函数 - Andrew Ng机器学习公开课笔记1.2
线性回归中提到最小二乘损失函数及其相关知识。对于这一部分知识不清楚的同学能够參考上一篇文章《线性回归、梯度下降》。
本篇文章主要解说使用最小二乘法法构建损失函数和最小化损失函数的方法。
最小二乘法构建损失函数
最小二乘法也一种优化方法,用于求得目标函数的最优值。简单的说就是:让我们的预測值与真实值总的拟合误差(即总残差)达到最小。
在线性回归中使用最小二乘法构建了损失函数:

上一篇文章《线性回归、梯度下降》中提到求解使损失函数J(θ)取最小的θ值有两种方法:梯度下降(gradient descent)和正则方程(The normal equations)。以下主要讲一下正则方程。梯度下降方法最小化损失函数參考文章《线性回归、梯度下降》
正则方程
将训练特征表示为X矩阵,结果表示成y向量,仍然是线性回归模型。损失函数不变。那么θ能够直接由以下公式得出:

推导过程涉及线性代数方面的知识,这里不再具体展开线性代数知识。
设m为训练样本数;x为样本中的自变量,即二手房价格预測中的房屋面积和我是数目。x为n维向量;向量y为训练数据中的房屋价格。y为m维向量。那么训练数据能够用矩阵表示为:

由于
,所以
就能够表示为:

损失函数就转化为:

线性代数中有两个公式:

当中符号
表示一个m*n的矩阵。这个矩阵的第(i,j)个元素为
。
上面两个公式合起来能够表示为:

根据这这个公式对损失函数J(θ)推导:

为了最小化J(θ)。又由于J(θ)由最小二乘法得到,J(θ)的取值大于等于0。即最小值为0。
所以,我们使
,从而得到θ取值:

损失函数 - Andrew Ng机器学习公开课笔记1.2的更多相关文章
- Andrew Ng机器学习公开课笔记 -- 支持向量机
网易公开课,第6,7,8课 notes,http://cs229.stanford.edu/notes/cs229-notes3.pdf SVM-支持向量机算法概述, 这篇讲的挺好,可以参考 先继 ...
- Andrew Ng机器学习公开课笔记–Principal Components Analysis (PCA)
网易公开课,第14, 15课 notes,10 之前谈到的factor analysis,用EM算法找到潜在的因子变量,以达到降维的目的 这里介绍的是另外一种降维的方法,Principal Compo ...
- Andrew Ng机器学习公开课笔记 -- 学习理论
网易公开课,第9,10课 notes,http://cs229.stanford.edu/notes/cs229-notes4.pdf 这章要讨论的问题是,如何去评价和选择学习算法 Bias/va ...
- Andrew Ng机器学习公开课笔记 -- Regularization and Model Selection
网易公开课,第10,11课 notes,http://cs229.stanford.edu/notes/cs229-notes5.pdf Model Selection 首先需要解决的问题是,模型 ...
- Andrew Ng机器学习公开课笔记–Reinforcement Learning and Control
网易公开课,第16课 notes,12 前面的supervised learning,对于一个指定的x可以明确告诉你,正确的y是什么 但某些sequential decision making问题,比 ...
- Andrew Ng机器学习公开课笔记 – Factor Analysis
网易公开课,第13,14课 notes,9 本质上因子分析是一种降维算法 参考,http://www.douban.com/note/225942377/,浅谈主成分分析和因子分析 把大量的原始变量, ...
- Andrew Ng机器学习公开课笔记 -- 线性回归和梯度下降
网易公开课,监督学习应用.梯度下降 notes,http://cs229.stanford.edu/notes/cs229-notes1.pdf 线性回归(Linear Regression) 先看个 ...
- Andrew Ng机器学习公开课笔记 -- Logistic Regression
网易公开课,第3,4课 notes,http://cs229.stanford.edu/notes/cs229-notes1.pdf 前面讨论了线性回归问题, 符合高斯分布,使用最小二乘来作为损失函数 ...
- Andrew Ng机器学习公开课笔记–Independent Components Analysis
网易公开课,第15课 notes,11 参考, PCA本质是旋转找到新的基(basis),即坐标轴,并且新的基的维数大大降低 ICA也是找到新的基,但是目的是完全不一样的,而且ICA是不会降维的 对于 ...
随机推荐
- Android插件化(二):使用DexClassLoader动态载入assets中的apk
Android插件化(二):使用DexClassLoader动态载入assets中的apk 简单介绍 上一篇博客讲到.我们能够使用MultiDex.java载入离线的apk文件.须要注意的是,apk中 ...
- intellij—idea14 注冊机
package com.qunar.fresh; import java.math.BigInteger; import java.util.Date; import java.util.Random ...
- 通过Debug-->Attach to Process的方式来调试网站
找到网站所对应的应用程序池
- 简单理解javascript的闭包
看过网上关于javascript的闭包的概念和分析,看完之后都是一头雾水,完全不懂,零度我本来就对于概念性的东西很烦躁,没办法,硬着头皮翻阅了很多的资料,总算理清了一点头绪,现在分享给大家,错误之处还 ...
- 转 EL表达式
EL表达式 一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java ...
- vue组件中 IS 用法
//html <link rel="stylesheet" href="http://www.jq22.com/demo/animate-141106223642/ ...
- STANDBY REDO LOG
SRL Introduce 从">ORACLE9i开始,出现了Standby Redo Logs(SRL),9.1开始只有">physical standby支持SRL ...
- JavaScript--数据结构算法之链表
数组的缺点:数组的长度固定,增删时比较困难要移动元素,而且数据填满再添加元素比较复杂.js:数组有split(),可以任意的分割.不存在上述问题.主要问题是:js数组都被实现成了对象,和其他语言的数组 ...
- python自学群里遇到的小题汇总
题目一: 请使在3秒内计算出一组的数据,偶数在奇数前(注意不使用for while等循环的方法)格式如下1,2,3,4,5,6,7,8,9,10输出结果是2,1,4,3,6,5,8,7,10,9 解决 ...
- Mysql学习总结(13)——使用JDBC处理MySQL大数据
一.基本概念 大数据也称之为LOB(Large Objects),LOB又分为:clob和blob,clob用于存储大文本,blob用于存储二进制数据,例如图像.声音.二进制文等. 在实际开发中,有时 ...