机器学习分类算法:从基础到实战
1. 特征缩放优化梯度下降
许多机器学习算法需要进行特征缩放以实现最优性能,梯度下降就是其中之一。这里我们使用标准化(standardization)方法,它能让数据具有标准正态分布的特性,即零均值和单位方差。标准化有助于梯度下降更快收敛,但不会使原始数据集呈正态分布。
标准化的具体操作是将每个特征的均值移到零,并使每个特征的标准差为 1(单位方差)。对于第 j 个特征,标准化公式为:
[
x’_j = \frac{x_j - \mu_j}{\sigma_j}
]
其中,$x_j$ 是包含所有训练示例第 j 个特征值的向量,$\mu_j$ 是样本均值,$\sigma_j$ 是标准差。
使用 NumPy 的 mean 和 std 方法可以轻松实现标准化:
import numpy as np
X_std = np.copy(X)
X_std[:,0] = (X[:,0] - X[:,0].mean()) / X[:,0].std()
X_std[:,1] = (X[:,1] - X[:,1].mean()) / X[:,1].std()
标准化后,使用学习率 $\eta = 0.01$ 训练 Adaline,它会在较少的迭代次数内收敛:
ada_gd = AdalineGD(n_iter=15, eta=0.01)
ada_gd.fit(X_std, y
超级会员免费看
订阅专栏 解锁全文
7246

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



