人工智能基础_机器学习012_手写梯度下降代码演示_手动写代码完成梯度下降_并实现梯度下降可视化---人工智能工作笔记0052

人工智能基础_机器学习012_手写梯度下降代码演示_手动写代码完成梯度下降_并实现梯度下降可视化---人工智能工作笔记0052_第1张图片

可以看到上面我们那个公式,现在我们用梯度下降实现一下,比如我们有一堆数据,但是没有方程的情况下,我们来看一下如果计算,对应的w值也就是seta值对吧,没有方程我们可以使用梯度下降

人工智能基础_机器学习012_手写梯度下降代码演示_手动写代码完成梯度下降_并实现梯度下降可视化---人工智能工作笔记0052_第2张图片

这里首先我们可以设置一个0.0001.我们知道梯度下降的公式,

梯度下降刚开始的时候,下降会快,然后慢慢的,x和x-1 的,间距,也就是步幅,或者说学习率会越来越小,当我们比如这里规定,当

x和x-1的间距,小于0.0001的时候,这个时候我们认为处理完毕,找到了最小值seta

人工智能基础_机器学习012_手写梯度下降代码演示_手动写代码完成梯度下降_并实现梯度下降可视化---人工智能工作笔记0052_第3张图片
eta=0.1 #学习率 我们把学习率,也就是步幅 设置为0.1

# 梯度下降5,749,算不算答案

#随机,初始值

x=np.random.randint(0,12,size=1)[0] #这个其实就是随机初始化一个值,从0到12中随机初始化一个,但是返回是数组,所以用0下标取出来.

#多次while循环,每次梯度下降,更新,记录一下上一次的值

#比较,精确

#+0.1; +0.2; +1  我们的这个x的值,步幅是0.1 所以 lastx=x+0.1 x就会是0.1 ,0.2 等

#开始有差异,目的为了比

你可能感兴趣的:(人工智能,手写梯度下降,梯度下降可视化,演示梯度下降过程)