从两元线性回归到多元:数据预处理的重要性

在了解了一下梯度下降的原理之后,如下有一个程序实现了两元的线性回归。按理说,那么要写多元线性回归,就是几维都可以处理的,应该只需要改一部分代码,多一个循环取值就可以了。但却出现了损失值越来越大的情况。折腾了很久,后来发现,加一步数据预处理-数据规范化,问题就解决了。(0 。0)
先上一开始的代码,可以求出有两个自变量x0,x1时的线性方程的两个未知参数theta0,theta1。

print "-------增量梯度下降(两个未知数)---------"
# 自变量x(x0, x1)
# 假设函数为:h(x) = theta0 * x[0] + theta1 * x[1]
# y为理想theta值下的真实函数值
x = [(1, 1.15), (1, 1.9), (1, 3.06), (1, 4.66), (1, 6.84), (1, 7.95)]
y = [1.37, 2.4, 3.02, 3.06, 4.22, 5.42]
# 两个终止条件:最大迭代次数,收敛精度
loop_max = 10000
epsilon = 0.0001

alpha = 0.005  # 步长
diff = 0  # 每一次测试时当前值与理想值的差距
error0 = 0  # 上一次目标函数之和
error1 = 0  # 当前次目标函数和
m = len(x)  # 训练数据条数
count = 0  #
finish = 
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值