BP 神经网络中的基础算法之一 —— 最小二乘法(LS 算法)
2018-02-06 16:26
411 查看
最小二乘法(LS 算法)是统计分析中最常用的逼近计算的一种算法,其交替计算结果使得最终结果尽可能地逼近真实结果。
LS 算法是一种数学优化技术,也是一种机器学习常用算法。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和最小。最小二乘法还可用于曲线拟合,其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达。
若干个点依次分布在向量空间中,如果希望找出一条直线和这些点达到最佳匹配,那么最简单的一个方法就是希望这些点到直线的值最小,即下面最小二乘法实现公式最小:
f(x)=ax+b
δ=∑(f(xi)−yi)2
这里直接应用的是真实值与计算值之间的差的平方和,具体而言,这种差值有个专门的名称为“残差(真实值与计算值之间的差)”。基于此,表达残差的方式有以下三种:
范数:残差绝对值的最大值 max|ri|,(1≤m),即所有数据点中残差距离的最大值。
L1-范数:绝对残差和 ∑mi|ri|,即所有数据点残差距离之和。
L2-范数:残差平方和 ∑mir2i。
也可以看到,所谓的最小二乘法也就是L2范数的一个具体应用。通俗地说,就是看模型计算的结果与真实值之间的相似性。
因此,最小二乘法的定义可由如下公式定义:
对于给定的数据(xi,yi)(i=1,…,m),在确定的假设空间 H 中,求解 f(x)∈H,使得残差 δ=∑(f(xi)−yi)2 的 2-范数最小。
关于最小二乘法的求解,其实就是权重参数的确定,这是一个求极值的问题,通过微积分相关知识可以求出极值点,此处不再赘述。
LS 算法是一种数学优化技术,也是一种机器学习常用算法。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和最小。最小二乘法还可用于曲线拟合,其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达。
若干个点依次分布在向量空间中,如果希望找出一条直线和这些点达到最佳匹配,那么最简单的一个方法就是希望这些点到直线的值最小,即下面最小二乘法实现公式最小:
f(x)=ax+b
δ=∑(f(xi)−yi)2
这里直接应用的是真实值与计算值之间的差的平方和,具体而言,这种差值有个专门的名称为“残差(真实值与计算值之间的差)”。基于此,表达残差的方式有以下三种:
范数:残差绝对值的最大值 max|ri|,(1≤m),即所有数据点中残差距离的最大值。
L1-范数:绝对残差和 ∑mi|ri|,即所有数据点残差距离之和。
L2-范数:残差平方和 ∑mir2i。
也可以看到,所谓的最小二乘法也就是L2范数的一个具体应用。通俗地说,就是看模型计算的结果与真实值之间的相似性。
因此,最小二乘法的定义可由如下公式定义:
对于给定的数据(xi,yi)(i=1,…,m),在确定的假设空间 H 中,求解 f(x)∈H,使得残差 δ=∑(f(xi)−yi)2 的 2-范数最小。
关于最小二乘法的求解,其实就是权重参数的确定,这是一个求极值的问题,通过微积分相关知识可以求出极值点,此处不再赘述。
相关文章推荐
- BP 神经网络中的基础算法之二 —— 梯度下降算法
- 机器学习笔记(XVI)神经网络(III)误差逆传播(BP)算法
- C++ 人工智能算法系列一(神经网络算法基础知识)
- python 深度学习、python神经网络算法、python数据分析、python神经网络算法数学基础教学
- 机器学习最基础算法之最小二乘法(最小平方法)
- 神经网络学习(四)反向(BP)传播算法(2)-Matlab实现
- 神经网络基础算法
- 在matlab基础上简单实现一个神经网络算法
- 详解神经网络算法所需最基础数据结构Tensor及其相关操作
- 神经网络(BP)算法Python实现及简单应用
- 神经网络(BP)算法Python实现及应用
- BP 神经网络 定位算法实现过程总结
- 神经网络及反向传播(bp)算法详解
- DAY7: 神经网络及深度学习基础--算法的优化(deeplearning.ai)
- 机器学习_算法_神经网络_BP
- 深度学习基础模型算法原理及编程实现--06.循环神经网络
- 神经网络算法--BP网络--人脸朝向
- 神经网络学习(三)反向(BP)传播算法(1)
- 神经网络中 BP 算法的原理与 PYTHON 实现源码解析
- 机器学习 —— 基础整理(八)循环神经网络的BPTT算法步骤整理;梯度消失与梯度爆炸