linear regression 初步学习

本文介绍了一个使用Adagrad优化器的简单线性回归机器学习程序,通过逐步迭代来调整权重和偏置,实现对数据的最佳拟合。该程序未采用向量化操作,适合于初学者理解线性回归的基本原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                        linear regression

下面的程序,是我写的一个非常简单的线性回归的机器学习的例程,其中用到了adagrad,并没有向量话,比较适合初学者

 

import numpy as np

lr=1  //learning rate

interation=1000//计算次数
x_data=[1,4,0.5,6,9,0.5,0.3,10,4,0.4]
y_data=np.zeros(len(x_data))
for i in range(0,len(x_data)):
    y_data[i]=x_data[i]*14+8

weight=0
bias=10

learning_rate_weight=0.0
learning_rate_bias=0.0

w_grad=0.0
b_grad=0.0
for m in range(interation):
    for n in range(len(x_data)):
        w_grad = w_grad -2*x_data[n]*(y_data[n] -weight*x_data[n]-bias)#将所有的数据对应的导数进行求和
        b_grad = b_grad - 2 * (y_data[n] -weight * x_data[n] - bias)#同上
    learning_rate_weight =learning_rate_weight + w_grad ** 2 #将目前有的导数进行求和
    learning_rate_bias =learning_rate_bias + b_grad ** 2
    weight =weight-lr/np.sqrt(learning_rate_weight) * w_grad #更新weight
    bias =bias-lr/np.sqrt(learning_rate_bias) * b_grad

print weight
print bias

 

    



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值