在校课程老师布置的作业
点个赞
, 点个收藏
之类的Let's do it !!!
已知某系统模型可由 y = 2 x + 3 y = 2x + 3 y=2x+3 表示
对该系统实际采样得到 4
个样本:(0,3.1)
、(1,4.9)
、(2,7.2)
、(3,8.9)
根据采样数据使用一维线性回归算法估计该模型: f ( x ) = w x + b f(x) = w x + b f(x)=wx+b
选取损失函数: L = 1 2 n ∑ i = 1 n ( y i − ( b + w x i ) ) 2 L=/frac{1}{2n} /displaystyle /sum_{i=1}^{n}{(y^i-(b+wx^i))}^2 L=2n1i=1∑n(yi−(b+wxi))2
基于 梯度下降算法 估计参数 w
和 b
。
提示:
g r a d w = ∂ L ∂ w = 1 n ∑ i = 1 n ( f ( x i ) − y i ) x i grad_w = /frac{/partial L}{/partial w}=/frac{1}{n} /displaystyle /sum_{i=1}^{n}{(f/left(x^i/right)-y^i)x^i} gradw=∂w∂L=n1i=1∑n(f(xi)−yi)xi
g r a d b = ∂ L ∂ b = 1 n ∑ i = 1 n ( f ( x i ) − y i ) grad_b = /frac{/partial L}{/partial b}=/frac{1}{n} /displaystyle /sum_{i=1}^{n}{(f/left(x^i/right)-y^i)} gradb=∂b∂L=n1i=1∑n(f(xi)−yi)
其中:
n
是样本数,( x i x_i xi, y i y_i yi)是样本点, f ( x i ) = b + w x i f(x_i)=/ b+wx^i f(xi)= b+wxi 是模型估计值。问题:
w = 0
,b = 0
,学习率 η= 0.01
,根据已采集的 4
个样本,基于 梯度下降算法 估计 w
和 b
,请计算 第1次 至 第3次 迭代的结果,要求 给出计算过程 及 每次迭代后的平均误差 。w = 0
,b = 0
,请用 python
编程计算学习率为 η= 0.01
和 η= 0.001
时迭代 100
次的结果。这道题就是简单的 梯度下降 ,公式已经给出来了,我们就直接按照公式实现即可。
第一题要求手写,有了初始条件 w = 0 , b = 0 , η = 0.01 w=0, b=0, /eta=0.01 w=0,b=0,η=0.01 ,很容易写出来梯度下降的过程。
我写了个程序输出,代码如下:
w = 0b = 0eta = 0.01def process(): global w, b x = x_train.reshape(1, -1)[0] y_hat = x * w + b y = y_train.reshape(1, -1)[0] diff = y - y_hat print('(' + '+'.join(map(lambda x:str(round(x, 4)), diff**2)) + f')/{2*x.shape[0]} =', round((diff**2 / (2*x.shape[0])).sum(), 4)) grad_w = -diff * x print('(' + '+'.join(map(lambda x:f'({round(x, 4)})', grad_w)) + f')/{x.shape[0]} =', round(grad_w.sum() / x.shape[0], 4)) w -= eta * grad_w.sum() / x.shape[0] print('w =', w) grad_b = -diff print('(' + '+'.join(map(lambda x:f'({round(x, 4)})', grad_b)) + f')/{x.shape[0]} =', round(grad_b.sum() / x.shape[0], 4)) b -= eta * grad_b.sum() / x.shape[0] print('b =', b)for i in range(1, 4): print('Epoch', i) process() print()
Epoch 1
:Epoch 2
:文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/122203.html
摘要:简介是目前最流行的深度学习框架。代表一个数学运算,简称,这里面包括了深度学习模型经常需要使用的。这也是名字的由来,表示多维数组在中流动。这一步指定求解器,并设定求解器的最小化目标为损失。 简介 TensorFlow是目前最流行的深度学习框架。我们先引用一段官网对于TensorFlow的介绍,来看一下Google对于它这个产品的定位。 TensorFlow™ is an open sou...
本文关键阐述了Python完成1个全连接层的神经元网络,文章内容紧扣主题进行详尽的基本介绍,具有很强的实用价值,必须的朋友可以学习一下 序言 在本文中,提前准备用Python重新开始完成1个全连接层的神经元网络。你可能会说,为何需要自己去完成,有许多库和架构能够给我们做这些事,例如Tensorflow、Pytorch等。这儿只想说仅有自己亲自完成了,就是自己的。 想起今日他从接触到了从事...
摘要:在这堂课中,学生将可以学习到深度学习的基础,学会构建神经网络,包括和等。课程中也会有很多实操项目,帮助学生更好地应用自己学到的深度学习技术,解决真实世界问题。 深度学习入门首推课程就是吴恩达的深度学习专项课程系列的 5 门课。该专项课程最大的特色就是内容全面、通俗易懂并配备了丰富的实战项目。今天,给大家推荐一份关于该专项课程的核心笔记!这份笔记只能用两个字形容:全面! showImg(...
阅读 713·2023-04-25 19:43
阅读 3907·2021-11-30 14:52
阅读 3784·2021-11-30 14:52
阅读 3852·2021-11-29 11:00
阅读 3783·2021-11-29 11:00
阅读 3869·2021-11-29 11:00
阅读 3557·2021-11-29 11:00
阅读 6105·2021-11-29 11:00