上研究生的时候接触的第一个Loss function就是least square。最近又研究了一下,做个总结吧。

定义看wiki就够了。公式如下

E(w)=12∑n=1N{y−xWT}2E(w)=12∑n=1N{y−xWT}2

其中yy代表类标列向量,xx代表特征行向量,WW代表回归或者分类参数矩阵。通过令欧式距离最小化优化得到最优的WW。

我遇到的第一个问题是,这个公式是怎么得到的,motivation是什么。我个人倾向于最大似然这个角度来解释。具体如下:

假设回归或分类模型公式如下:

y=WTx+ϵy=WTx+ϵ

ϵ∼N(0,σ2)ϵ∼N(0,σ2)代表加性高斯噪声,所以y∼N(WTx,σ2)y∼N(WTx,σ2)。这时通过独立观测xx得到一系列的观测值X=(x1,y1)….,(xN,yN)X=(x1,y1)….,(xN,yN),则可写出对应的似然函数

p(y∣X,w,σ)=ΠNn=1N(WTx,σ2)p(y∣X,w,σ)=Πn=1NN(WTx,σ2)

两边同取自然对数,则

ln(p(y∣X,w,σ))=∑i=1Nln(N(WTx,σ2))ln(p(y∣X,w,σ))=∑i=1Nln(N(WTx,σ2))

而N(WTx,σ2)=12πσ2√exp(−(y−WTx2)2σ2)N(WTx,σ2)=12πσ2exp⁡(−(y−WTx)22σ2)

ln(p(y∣X,w,σ))=−12σ2∑n=1N{yn−WTxn}2−12ln(2πσ2)ln(p(y∣X,w,σ))=−12σ2∑n=1N{yn−WTxn}2−12ln(2πσ2)

最大似然函数,求解W,

W∗=argminW−12σ2∑n=1N{yn−WTxn}2−12ln(2πσ2)W∗=argminW−12σ2∑n=1N{yn−WTxn}2−12ln(2πσ2)

上式中第二项与WW无关,可以省略,故

W∗=argminW−12σ2∑n=1N{yn−WTxn}2W∗=argminW−12σ2∑n=1N{yn−WTxn}2

把上式中的σ2σ2取掉,就是我们熟悉的最小二乘法啦。

求解时,对对数似然函数求偏导(注意矩阵求导的规则)

∇ln(p(y∣X,w,σ))=−∑Nn=1{yn−WTxn}xTn∇ln(p(y∣X,w,σ))=−∑n=1N{yn−WTxn}xnT 令上式为0,则有

∑n=1NynxTn=WT∑n=1NxnxTn∑n=1NynxnT=WT∑n=1NxnxnT

两边同取矩阵的逆,则有: ∑Nn=1xnyTn=∑Nn=1xnxTnW∑n=1NxnynT=∑n=1NxnxnTW

如果用YY表示类标矩阵,XX表示特征矩阵,则有 XYT=XXTWXYT=XXTW W=(XXT)−1XYTW=(XXT)−1XYT

上面的公式称为normal equation。可以求得WW的封闭解,但是只要做过实验的都知道,如果XX的维数稍微一大,求逆的过程非常非常非常慢,且要消耗非常非常多的资源。所以WW一般用梯度下降法求解。

最大似然法在一定程度上证明了最小二乘法的合理性,但是事实上在历史上最小二乘的出现早于前者,所以可以从其它的角度思考一下最小二乘的合理性。比如最小二乘的几何意义,这篇文章讲的挺好的,看了之后受益匪浅。

from: http://bucktoothsir.github.io/blog/2015/12/04/leastsquare/

最小二乘法least square的更多相关文章

  1. 【模式识别与机器学习】——最大似然估计 (MLE) 最大后验概率(MAP)和最小二乘法

    1) 极/最大似然估计 MLE 给定一堆数据,假如我们知道它是从某一种分布中随机取出来的,可是我们并不知道这个分布具体的参,即“模型已定,参数未知”.例如,我们知道这个分布是正态分布,但是不知道均值和 ...

  2. Machine Learning Algorithms Study Notes(2)--Supervised Learning

    Machine Learning Algorithms Study Notes 高雪松 @雪松Cedro Microsoft MVP 本系列文章是Andrew Ng 在斯坦福的机器学习课程 CS 22 ...

  3. Machine Learning Algorithms Study Notes(1)--Introduction

    Machine Learning Algorithms Study Notes 高雪松 @雪松Cedro Microsoft MVP 目 录 1    Introduction    1 1.1    ...

  4. 对线性回归,logistic回归和一般回归的认识

    原文:http://www.cnblogs.com/jerrylead/archive/2011/03/05/1971867.html#3281650 对线性回归,logistic回归和一般回归的认识 ...

  5. 机器学习中的数学(1)-回归(regression)、梯度下降(gradient descent)

    版权声明: 本文由LeftNotEasy所有,发布于http://leftnoteasy.cnblogs.com.如果转载,请注明出处,在未经作者同意下将本文用于商业用途,将追究其法律责任. 前言: ...

  6. 线性回归,logistic回归和一般回归

    1 摘要 本报告是在学习斯坦福大学机器学习课程前四节加上配套的讲义后的总结与认识.前四节主要讲述了回归问题,回归属于有监督学习中的一种方法.该方法的核心思想是从连续型统计数据中得到数学模型,然后将该数 ...

  7. 【IUML】回归和梯度下降

    回归(Regression) 在数学上来说是给定一个点集,能够用一条曲线去拟合之,如果这个曲线是一条直线,那就被称为线性回归,如果曲线是一条二次曲线,就被称为二次回归,回归还有很多的变种,如local ...

  8. 机器学习之线性回归---logistic回归---softmax回归

    在本节中,我们介绍Softmax回归模型,该模型是logistic回归模型在多分类问题上的推广,在多分类问题中,类标签 可以取两个以上的值. Softmax回归模型对于诸如MNIST手写数字分类等问题 ...

  9. 对线性回归,logistic回归和一般回归

    对线性回归,logistic回归和一般回归 [转自]:http://www.cnblogs.com/jerrylead JerryLead 2011年2月27日 作为一个机器学习初学者,认识有限,表述 ...

随机推荐

  1. 易普优APS混流排序算法助力汽车整车厂的均衡生产

    一.汽车整车厂生产排序的难点 “ 冲压-焊接-涂装-总装”是汽车整车生产的四大工艺类型,它们存在上下游关联关系,每个车间都有自己的优化排序目标,汽车混流生产模式使得生产过程更加复杂,从而生产管控的难度 ...

  2. Django实战(14):让页面联动起来

    上一节我们实现了一个”能看不能用“的购物车,现在我们来使用这个购物车. 首先是产品目录界面中的”加入购物车“链接,我们希望点击这个按钮后,在购物车中添加该产品(添加的规则是如果购物车中已经有该产品就增 ...

  3. gp数据库运维

    最近需要将一份db2导出的历史数据入库gp集群,然后把每天的增量数据导出成txt文件和对应的log日志,再ftp传输给另外一台机器.其中陆续碰到一些坑,在此记录 历史文件数据清洗 列分隔符的选择 碰到 ...

  4. Javap -c 字节码解析

              栈和局部变量操作 将常量压入栈的指令 aconst_null         将null对象引用压入栈   iconst_m1         将int类型常量-1压入栈 icon ...

  5. 安装部署VMware vSphere 5.5文档 (6-3) 安装配置AD域控制器

    部署VMware vSphere 5.5 实施文档 ########################################################################## ...

  6. php开启memcache扩展

    1.下载memcache.dll(php7)https://github.com/nono303/PHP7-memcahe-dll/tree/master 2.将dll文件放到php7/ext目录下 ...

  7. ArrayList,Vector,LinkedList

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 数组列表 和 向量Vector, 都是使用数组方式存储. 向量 使用了 同步synchr ...

  8. BZOJ.2428.[HAOI2006]均分数据(随机化贪心/模拟退火)

    题目链接 模拟退火: 模拟退火!每次随机一个位置加给sum[]最小的组. 参数真特么玄学啊..气的不想调了(其实就是想刷刷最优解) 如果用DP去算好像更准.. //832kb 428ms #inclu ...

  9. 【拉格朗日插值法】【找规律】【高精度】Gym - 101156G - Non-Attacking Queens

    题意:问你n*n的国际象棋棋盘上放3个互不攻击皇后的方案数. oeis……公式见代码内 //a(n) = 5a(n - 1) - 8a(n - 2) + 14a(n - 4) - 14a(n - 5) ...

  10. Spring AOP笔记

    AOP的核心概念 AOP(Aspect-Oriented Programming)面向切面编程可以实现横切点与他们所影响的对象之间的解耦.如将公共的日志.权限.事务等业务隔离出来,但不影响原来程序的逻 ...