文章目录
源码
此为适应机使用随机梯度下降的python实现,代码主要来源于Python Machine Learning 3rd(此书包含大量python实现算法的源码,宜啃读)自己把代码又弄了一遍,欢迎想看或者看过这本书的来交流讨论
class AdalineSGD(object):
def __init__(self, eta=0.01, n_iter=10, shuffle=True, random_state=None):
self.eta = eta
self.n_iter = n_iter
self.w_initialized = False
self.shuffle = shuffle
self.random_state = random_state
def fit(self, X, y):
self._initialize_weights(X.shape[1])
self.cost_ = []
for i in range(self.n_iter):
if self.shuffle:
X, y = self._shuffle(X, y)
cost = []
for i in range(self.n_iter):
if self.shuffle:
X, y = self._shuffle(X, y)
cost = []
for xi, target in zip(X, y):
cost.append(self._update_weights(xi, target))
avg_cost =

本文介绍了一个Python实现的随机梯度下降(SGD)算法,详细讲解了如何初始化权重矩阵、打乱数据、实现随机梯度下降过程,并通过函数封装数据处理步骤。在保持权重初始化不变的情况下进行训练,最后展示了训练结果,包括决策边界和误差随迭代优化次数的变化趋势。
最低0.47元/天 解锁文章
算法&spm=1001.2101.3001.5002&articleId=105099678&d=1&t=3&u=70770e0bc4f54e5780e4ff67e3d4371c)
829

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



