线性回归推导(linear regression)

概念

线性回归(Linear Regression)是一种通过属性的线性组合来进行预测的线性模型,其目的是找到一条直线或者一个平面或者更高维的超平面,使得预测值与真实值之间的误差最小化。
线性回归,就是能够用一个直线较为精确地描述数据之间的关系。这样当出现新的数据的时候,就能够预测出一个简单的值。线性回归中最常见的就是房价的问题。
在这里插入图片描述

特点

优点:结果具有很好的可解释性(w直观表达了各属性在预测中的重要性),计算熵不复杂。
缺点:对非线性数据拟合不好
适用数据类型:数值型和标称型数据

原理以及推导

单/多变量线性回归
在这里插入图片描述在这里插入图片描述
梯度下降背后的思想是:开始时我们随机选择一个参数的组合(θ0,θ1),计算代价函数,然后我们寻找下一个能让代价函数值下降最多的参数组合。
在这里插入图片描述
线性回归算法python实现关键代码
/# 1.定义计算代价函数
def costFunction(X,y,theater=[[0],[0]]):
m=y.size
h=np.dot(X,theater) # 预测值
J = (1.0/(2m))((h-y).T.dot(h-y)) # 代价值
return J
/# 2.定义计算梯度下降的函数
def gradDes(X, y, theater=[[0],[0]], alpher=0.001, num_iters=15000):
m=y.size
J_histories=np.zeros(num_iters)
for i in range(num_iters):
J_histories[i]=costFunction(X,y,theater)
h=np.dot(X,theater)
deltheater = (1.0/m)*(X.T.dot(h-y)) # 计算梯度,J的偏导
theater = theater – alpher * deltheater
return theater,J_histories

正规方程
Δθ=1/m X^T (Xθ-y)=0
theta=np.linalg.inv(X.T.dot(X)).dot(X.T).dot(Y)在这里插入图片描述
只要特征变量数量小于一万,我通常使用标准方程法,而不使用梯度下降法。特征太多,删除一些特征, 或使用正则化。当 是不可逆时,称为奇异阵或退化阵,也称伪逆阵。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值