zoukankan      html  css  js  c++  java
  • 哈达马乘积


    注:原创不易,转载请务必注明原作者和出处,感谢支持!

    一 写在开头

    1.1 本文内容

    机器学习中的一个小概念——哈达马乘积(Hadamard Product)及其性质。

    二 哈达马乘积(Hadamard Product)

    2.1 哈达马乘积定义及其性质

    对于两个同为(m imes n)阶的矩阵(A)(B),则(A)(B)的哈达马乘积定义为:

    [(A circ B)_{i,j} = (A)_{i,j}(B)_{i,j} ]

    比如,这是一个哈达马乘积的实例:

    [left[ egin{array}{ccc} a_{11} & a_{12} & a_{13}\ a_{21} & a_{22} & a_{23}\ a_{31} & a_{32} & a_{33} end{array} ight] circ left[ egin{array}{ccc} b_{11} & b_{12} & b_{13}\ b_{21} & b_{22} & b_{23}\ b_{31} & b_{32} & b_{33} end{array} ight] = left[ egin{array}{ccc} a_{11} imes b_{11} & a_{12} imes b_{12} & a_{13} imes b_{13}\ a_{21} imes b_{21} & a_{22} imes b_{22} & a_{23} imes b_{23}\ a_{31} imes b_{31} & a_{32} imes b_{32} & a_{33} imes b_{33} end{array} ight] ]

    注意,哈达马乘积要求矩阵(A)(B)必须具有相同的阶。

    易知,哈达马乘积具有如下的性质:

    [A circ B = B circ A ]

    [A circ (B circ C) = (A circ B) circ C ]

    [A circ (B + C) = A circ B + A circ C ]

    2.2 哈达马乘积的应用

    在深度学习框架TensorFlow中有计算哈达马乘积的API——tf.multiply()。下面是在TensorFlow中的一个具体实例。

    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    
    import tensorflow as tf
    
    x = tf.constant([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
    with tf.Session() as session:
        print(session.run(tf.multiply(x, x)))
    
    '''输出结果为:
    [[ 1  4  9]
     [16 25 36]
     [49 64 81]]
    '''
    
  • 相关阅读:
    安装pgsql
    ln软连接
    vsftp上传失败
    redis配置systemctl
    jmeter 录制排除模式
    数据库基本操作
    按日期排序
    angularjs的cache
    angularjs路由传递参数
    angularjs路由相关知识
  • 原文地址:https://www.cnblogs.com/laizhenghong2012/p/10046067.html
Copyright © 2011-2022 走看看