#线性回归问题的随机梯度下降
import numpy as np
class LinearRegression:
def fit(self,X,y,eta_0=10,eta_1=50,N=3000):
m,n=X.shape
w=np.zeros((n,1))
self.w=w
for t in range(N):
i=np.random.randint(m)
x=X[i].reshape(1,-1)
e=x.dot(w)-y[i]
g=2*e*x.T
w=w-eta_0*g/(t+eta_1)
self.w+=w
self.w/=N
def predict(self,X):
return X.dot(self.w)
机器学习算法导论代码---linear_regression_sgd
最新推荐文章于 2024-06-18 05:49:15 发布
该博客介绍了如何用Python实现线性回归模型的训练,通过随机梯度下降法更新权重。代码中定义了一个`LinearRegression`类,包含`fit`方法用于训练和`predict`方法用于预测。在`fit`方法中,随机选择样本进行梯度更新,并应用学习率衰减策略。
346

被折叠的 条评论
为什么被折叠?



