线性回归的高斯假设

导读:在线性回归问题中,我们定义了损失函数

,但是为什么用最小二乘(而不是三次方等)作为损失函数?

我们来尝试解决一个完整的线性回归问题:

设:

训练样本(x,y),其中x是输入特征,y是目标变量

回归方程的形式是:

(1)

我们假设误差项:

服从独立同分布的高斯分布(

),即

(2)

(这里对误差项服从的分布的假设,直观地理解,就是误差在越接近0的地方出现的概率越大,越远离0的地方出现的概率越小,在0两边出现的概率对称,并且误差服从的分布总是让多次测量的均值成为对真值最好的估计。至于为什么符合这些直观感受的误差的概率密度函数恰好是(2)式?敬请期待下一篇文章)

接下来我们对似然函数(3)进行极大似然估计

(3)

对(3)两边取对数

(4)

对取对数后,单调性不变,所以让取得最大值,等价于令(4)中损失函数

(5)

取最小值。

到这里,最小二乘法就得到了解释。并且这个结论与我们假设的

没有关系。

接下来,我们继续我们的目标,寻找使损失函数

最小的

寻找

通常有两种方法,一种是求解析解

,求解过程这里暂不做展开。

我们重点说明第二种方法:梯度下降法。

梯度下降的过程是:

Step 1 给定

的初始值,计算

Step 2 在

的基础上减去

在该点的梯度,得到新的

,计算

Step 3 重复以上步骤,直到

取到局部最小值;

Step 4 再次选择

的初始值,重复以上步骤,直到取到

的所有局部最小值。

梯度方向是

(6)

的反方向,因此用梯度下降法迭代

的过程可以写为:

(7)

观察用梯度下降法迭代

的过程,迭代效果的好坏对

初始值的选择、迭代步长

有很高的依赖,在工程上对线性回归的优化通常是基于这两点展开。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

张洁的专栏

1 篇文章1 人订阅

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏计算机视觉与深度学习基础

Leetcode 114 Flatten Binary Tree to Linked List

Given a binary tree, flatten it to a linked list in-place. For example, Given...

2108
来自专栏xingoo, 一个梦想做发明家的程序员

20120918-向量实现《数据结构与算法分析》

#include <iostream> #include <list> #include <string> #include <vector> #include...

1896
来自专栏xingoo, 一个梦想做发明家的程序员

AOE关键路径

这个算法来求关键路径,其实就是利用拓扑排序,首先求出,每个节点最晚开始时间,再倒退求每个最早开始的时间。 从而算出活动最早开始的时间和最晚开始的时间,如果这两个...

2657
来自专栏xingoo, 一个梦想做发明家的程序员

AOV网络拓扑排序

这个算法,主要是为输出一个无环图的拓扑序列 算法思想: 主要依赖一个栈,用来存放没有入度的节点,每次读取栈顶元素,并将栈顶元素的后继节点入度减一,如果再次出现入...

1975
来自专栏MelonTeam专栏

ArrayList源码完全分析

导语: 这里分析的ArrayList是使用的JDK1.8里面的类,AndroidSDK里面的ArrayList基本和这个一样。 分析的方式是逐个API进行解析 ...

4799
来自专栏项勇

笔记68 | 切换fragmengt的replace和add方法笔记

1544
来自专栏java闲聊

JDK1.8 ArrayList 源码解析

当运行 ArrayList<Integer> list = new ArrayList<>() ; ,因为它没有指定初始容量,所以它调用的是它的无参构造

1242
来自专栏alexqdjay

HashMap 多线程下死循环分析及JDK8修复

1.2K4
来自专栏ml

朴素贝叶斯分类器(离散型)算法实现(一)

1. 贝叶斯定理:        (1)   P(A^B) = P(A|B)P(B) = P(B|A)P(A)   由(1)得    P(A|B) = P(B|...

3667
来自专栏Phoenix的Android之旅

Java 集合 Vector

List有三种实现,ArrayList, LinkedList, Vector, 它们的区别在于, ArrayList是非线程安全的, Vector则是线程安全...

692

扫码关注云+社区