机器学习入门-线性回归算法(原理)

数据:工资和年龄(2个特征)

目标:预测银行会贷款多少钱(标签)

考虑: 工资和年龄影响银行贷款,它们各自的影响大小(参数)

 

x1, x2 表示的是两个特征(年龄, 工资)

y 是银行最终会借我们多少钱

找到一条最合适线(一些高维点)来最好拟合我们的数据点

假设theta1是年龄的参数, theta2是工资的参数

h0 = theta0 + theta1 * x1 + theta2 * x2  # 目标函数np.dot(X, theta.T)

y = h0 + error  # 真实值与预测值的误差

error = y - h0 

由于大多数误差概率都符合高斯分布

p(error) = 1/(sqrt(2pi)*mean) * exp(-(y-h0)^2/2*mean^2)

计算所有x的误差,也就是似然函数

L(theta) =p(error)***

化解为对数似然

loglL(theta) = p(error) ++ 

化简为了使得对数似然的值越大,即

J(theta) = 0.5sum(y - h0) / len(h0)  最小, 这就是最小二乘法

对J(theta) 依据 theta进行求导操作

最后解得:

求最小值使得偏导等于0, 线性回归是唯一一个可以直接求解的函数

theta = np.dot(x.T * x) ^-1 * x.T * y 

 

转载于:https://www.cnblogs.com/my-love-is-python/p/10260236.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值