回归:多元线性回归

回归:多元线性回归最小二乘法


线性回归,是一种统计方法,描述变量之间的一种关系。方程式如下:

这里另=1也可以简化为:

, 或者

最容易理解的说明:给出m条数据

最小二乘法就是使得偏差平方和最小。就会使得曲线都最大可能的拟合方程 。使得偏差平方和最小,也就是损失函数最小,Cost Function:

这里的i代表第i条数据。

使得最小,那么只要的偏导数等于0,就达到了最小值。那么偏导数为:



.......


可写为:

    j>0 and j<=n


可写为:

, j>0 and j<=n


使得所有的偏导数都等于0。

  ,j>0 and j<=n

得出等式:




................


可以看出,对角线上 是 x的每一列对应乘积相加,其它线上是所以可以变换为矩阵相乘,,

设矩阵

,,

, 得出:

得出:

此种方式,必须是满秩矩阵。


代码为:

def regress(x, y):
    x = np.mat(x)
    y = np.mat(y).T
    xT = x.T * x
    if np.linalg.det(xT) == 0.0:
        return
    weight = xT.I * (x.T * y)
    return weight

x为训练数据,y为训练结果。返回 权重,也就是矩阵。


MATLAB

function [theta] = normalEqn(X, y)

theta = zeros(size(X, 2), 1);
theta=inv(transpose(X)*X)*transpose(X)*y

end





  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值