matlab最小二乘法 矩阵形式,最小二乘法的一般形式和矩阵形式原理推导和代码实现...

本文介绍了最小二乘法的矩阵形式,详细推导了线性代数模型的解法,并通过Python、MATLAB及C++代码展示了如何实现最小二乘法。此外,还对比了最小二乘法与梯度下降算法的异同。
摘要由CSDN通过智能技术生成

作者:金良(golden1314521@gmail.com) csdn博客:http://blog.csdn.net/u012176591

1.线性代数模型

首先给出最小二乘解的矩阵形式的公式:

0818b9ca8b590ca3270a3433284dd417.png

推导过程:

0818b9ca8b590ca3270a3433284dd417.png

条件:

矩阵

0818b9ca8b590ca3270a3433284dd417.png必须是列满秩矩阵,否则

0818b9ca8b590ca3270a3433284dd417.png的逆就不会存在。

若A为m×n的矩阵,b为m×1的矩阵,则Ax=b表达了一个线性方程组,它的normal equation的形式为ATAx=ATb。

当Ax=b有解时(即矩阵[A|b]的秩与A的秩相同),Ax=b与ATAx=ATb的解集是一样。

而当Ax=b无解时,ATAx=ATb仍然有解,其解集即最小二乘解(least squares solution),即使得(Ax-b)T(Ax-b)的值最小的解,可以理解为使方程组Ax=b近似成立且误差最小的解。

Python语言写的一个例子:

#encoding=UTF-8

'''

Created on 2014年6月30日

@author: jin

'''

from numpy import *

import matplotlib.pyplot as plt

from random import *

def loadData():

x = arange(-1,1,0.02)

y = ((x*x-1)**3&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值