既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
python机器学习 一元线性回归 梯度下降法的实现 【Python机器学习系列(四)】
文章目录
梯度下降法的机器学习的重要思想之一,梯度下降法的目标,是使得代价函数最小。下边对梯度下降算法的实现展开详细介绍。
①首先读取数据集
导包并读取数据,数据自行任意准备,只要有两列,可以分为自变量x和因变量y即可即可。
import numpy as np
import matplotlib.pyplot as plt
data = np.loadtxt("data.csv", delimiter=",")
x_data = data[:, 0]
y_data = data[:, 1]
②初始化相关参数
# 初始化 学习率 即每次梯度下降时的步长 这里设置为0.0001
learning_rate = 0.0001
# 初始化 截距b 与 斜率k
b = 0
k = 0
# 初始化最大迭代的次数 以50次为例
n_iterables = 50
③定义计算代价函数–>MSE
使用均方误差 MSE (Mean Square Error)来作为性能度量标准
假设共有m个样本数据,则均方误差:
M
S
E
=
1
m
∑
i
=
1
m
[
(
k
x
i
b
)
−
y
i
]
2
MSE=\frac{1}{m}\sum_{i=1}{m}[(kx_i+b)-y_i]2
MSE=m1∑i=1m[(kxi+b)−yi]2
将该公式定义为代价函数,此外为例后续求导方便,则使结果在原mse的基础上,再乘以1/2。
def compute\_mse(b, k, x_data, y_data):
total_error = 0
for i in range(len(x_data)):
total_error += (y_data[i] - (k \* x_data[i] + b)) \*\* 2
# 为方便求导:乘以1/2
mse_ = total_error / len(x_data) / 2
return mse_
④梯度下降
分别对上述的MSE表达式(乘以1/2后)中的k,b求偏导,
∂
1
2
M
S
E
∂
b
=
∑
i
=
1
m
(
k
x
i
b
−
y
i
)
m
\frac{∂ \frac{1}{2}MSE}{∂b}=\sum_{i=1}^m\frac{(kx_i+b-y_i)}{m}
∂b∂21MSE=∑i=1mm(kxi+b−yi)
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
片转存中…(img-iinbrMkf-1715683628872)]
[外链图片转存中…(img-ioZk26pV-1715683628873)]
[外链图片转存中…(img-VBlJecJT-1715683628873)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新