以下是一个利用梯度降落算法进行线性回归的Python示例:
```python import numpy as np
生成数据
X = np.random.rand(100, 1) y = 3 * X + 2 + np.random.rand(100, 1)
初始化参数
w = np.random.rand(1, 1) lr = 0.01
训练模子
for i in range(1000): grad = 2 * (y - (w @ X)) @ X / X.shape[0] w -= lr * grad
print("w:", w) ```
在这个示例中,我们首先生成了一组线性回归数据,然后利用梯度降落算法训练了一个线性模子。在训练过程中,我们计算了丧失函数的梯度,并利用学习率更新模子参数。
4.2 随机梯度降落示例
以下是一个利用随机梯度降落算法进行线性回归的Python示例:
```python import numpy as np
生成数据
X = np.random.rand(100, 1) y = 3 * X + 2 + np.random.rand(100, 1)
初始化参数
w = np.random.rand(1, 1) lr = 0.01
训练模子
for i in range(1000): idx = np.random.randint(0, X.shape[0]) grad = 2 * (y[idx] - (w @ X[idx])) * X[idx] / X.shape[0] w -= lr * grad
print("w:", w) ```
在这个示例中,我们利用随机梯度降落算法进行了线性回归训练。与梯度降落算法不同的是,我们在每一次迭代中随机选择了一个数据样本进行梯度计算,从而提高了算法的速度。
4.3 支持向量机示例
以下是一个利用支持向量机进行二分类的Python示例:
```python import numpy as np from sklearn import datasets from sklearn.modelselection import traintest_split from sklearn.preprocessing import StandardScaler from sklearn.svm import SVC
加载数据
iris = datasets.load_iris() X = iris.data y = iris.target
数据预处理