当前位置: 网站首页>小程序开发>网站优化

丹阳小程序制作【丹阳企业邮箱】丹阳网站外包、丹阳微信商城开发、丹阳网店美工、丹阳淘宝设计

发表日期: 2021-04-27 12:51:17 浏览次数:289

丹阳小程序制作【丹阳企业邮箱】丹阳网站外包、丹阳微信商城开发、丹阳网店美工、丹阳淘宝设计


丹阳市,江苏省辖县级市,由镇江市代管,位于江苏省南部,介于北纬31°44′~32°08′、东经119°23′~119°53′之间,总面积1047平方公里。丹阳属亚热带季风气候,具有气候湿润、光照充足、雨量丰沛、无霜期长、四季分明的气候特征。截至2019年,丹阳市辖2个街道、10个镇。常住人口80.63 万人。 [1] 

丹阳建置始于战国时期,初为云阳邑。《山海经》中有一条河叫“丹水”,即丹江,根据“山水阴阳,水北为阳”的理论命名丹阳。 [2]  1987年12月,丹阳撤县设市,为丹阳市,由镇江市代管。丹阳市与常州市新北区交界处建有常州奔牛国际机场,沪宁高速公路(G42沪蓉高速)、312国道、122省道、338省道等是通过公路出入丹阳的主要干道,水运有京杭大运河纵贯丹阳,大港港口是对外开放的长江第三大港。 [3] 

2019年,丹阳市实现地区生产总值1121.99亿元,同比增长4.7%。 [4]  2018年12月,入选全国县域经济综合竞争力100强,2018中国大陆最佳商业城市100强、中国最佳县级城市30强。 [5]  2019年10月8日,被评为2019年度全国综合实力百强县市。 [6]  2019全国营商环境百强县。 [7]  2019年国家卫生城市。 [8]  2020年12月,社科院发布《全国县域经济综合竞争力100强》,丹阳排名第40 [9]  。

代码

对矩阵乘法进行编码很简单:

def matmul_forward(X: ndarray,
                   W: ndarray) -> ndarray:
    '''
    计算矩阵乘法的前向传递结果。
    '''

    assert X.shape[1] == W.shape[0], \    '''
    对于矩阵乘法,第一个数组中的列数应与第二个数组中的行数相匹配。而这里,
    第一个数组中的列数为{0},第二个数组中的行数为{1}。'''
     .format(X.shape[1], W.shape[0])

    # 矩阵乘法
    N = np.dot(X, W)

    return N复制代码

这里有一个新的断言,它确保了矩阵乘法的有效性。(这是第一个运算,它不仅处理相同大小的 ndarray,还逐元素执行运算,而现在的输出与输入实际上并不匹配。因此,这个断言很重要。)

1.10 多向量输入函数的导数

对于仅以一个数字作为输入并生成一个输出的函数,例如 f(x)=x^2 或 f(x)={\rm sigmoid}(x),计算导数很简单,只需应用微积分中的规则即可。然而,对于向量函数,其导数就没有那么简单了:如果将点积写为 v(\boldsymbol{X},\boldsymbol{W})=N 这种形式,那么自然会产生一个问题:\dfrac{\partial N}{\partial\boldsymbol{X}} 和 \dfrac{\partial N}{\partial\boldsymbol{W}} 分别是什么?

数学

如何定义“矩阵的导数”?回顾一下,矩阵语法只是对一堆以特定形式排列的数字的简写,“矩阵的导数”实际上是指“矩阵中每个元素的导数”。由于 \boldsymbol{X} 有一行,因此它可以这样定义:

\dfrac{\partial v}{\partial\boldsymbol{X}}=\begin{bmatrix}\dfrac{\partial v}{\partial x_1}&\dfrac{\partial v}{\partial x_2}&\dfrac{\partial v}{\partial x_3}\end{bmatrix}

然而,v 的输出只是一个数字:N=x_1\times x_1+x_2\times w_2+x_3\times w_3。可以看到,如果 x_{1}  改变了 \epsilon 单位,那么 N 将改变 w_1\times\epsilon 单位。同理,其他的 x_i 元素也满足这种情况。因此可以得出下面的公式:

\begin{aligned}\dfrac{\partial v}{\partial x_1}&=w_1\\\dfrac{\partial v}{\partial x_2}&=w_2\\\dfrac{\partial v}{\partial x_3}&=w_3\\\dfrac{\partial v}{\partial\boldsymbol{X}}=[w_1~~&w_2~~w_3]=\boldsymbol{W}^{\rm T}\end{aligned}

这个结果出乎意料地简练,掌握这一点极为关键,既可以理解深度学习的有效性,又可以知道如何清晰地实现深度学习。

以此类推,可以得到如下公式。

\dfrac{\partial v}{\partial\boldsymbol{W}}=\begin{bmatrix}x_1\\x_2\\x_3\end{bmatrix}=\boldsymbol{X}^{\rm T}

示意图

从概念上讲,我们只想执行图 1-17 所示的操作。

图 1-17:矩阵乘法的后向传递

如前面的例子所示,当只处理加法和乘法时,计算这些导数很容易。但是如何利用矩阵乘法实现类似的操作呢?图 1-17 中的示意图并不直观,要准确地定义它,必须求助于本节中的数学公式。

代码

从数学上推算答案应该是最困难的部分,对结果进行编码则比较简单:

def matmul_backward_first(X: ndarray,
                          W: ndarray) -> ndarray:
    '''
    计算矩阵乘法相对于第一个参数的后向传递结果。
    '''

    # 后向传递
    dNdX = np.transpose(W, (1, 0))

    return dNdX复制代码

这里计算的 dNdX 表示 \boldsymbol{X} 的每个元素相对于输出 N 的和的偏导数。在本书中,这个量有一个特殊的名称,即 \boldsymbol{X} 的梯度(gradient)。这个概念是指,对于 \boldsymbol{X} 的单个元素(例如 x_{3}  ),dNdX 中的对应元素(具体来说是 dNdX[2])是向量点积 N 的输出相对于 x_{3}  的偏导数。在本书中,梯度仅指偏导数的多维对应物。具体来说,它是函数输出相对于该函数输入的每个元素的偏导数数组。


丹阳小程序制作丹阳企业邮箱丹阳网站外包、丹阳微信商城开发、丹阳网店美工、丹阳淘宝设计


400-111-6878
服务热线
顶部

备案号: 苏ICP备11067224号

CopyRight © 2011 书生商友信息科技 All Right Reserved

24小时服务热线:400-111-6878   E-MAIL:1120768800@qq.com   QQ:1120768800

  网址: http://www.768800.com  网站建设上往建站

关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|

企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|

400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 苏州殡葬一条龙| 朝阳殡葬| 苏州殡葬服务|

预约专家

欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系

  

服务热线:400-111-6878