码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2019-01-12 18:01:40      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:一个   学习   误差   特征   分布   入门   ***   sqrt   银行   

数据:工资和年龄(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 

 

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

标签:一个   学习   误差   特征   分布   入门   ***   sqrt   银行   

原文地址:https://www.cnblogs.com/my-love-is-python/p/10260236.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!