首页 > 其他 > 详细

哈达马乘积

时间:2018-11-30 20:38:23      阅读:397      评论:0      收藏:0      [点我收藏+]

目录


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

一 写在开头

1.1 本文内容

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

二 哈达马乘积(Hadamard Product)

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

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

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

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

\[ \left[ \begin{array}{ccc} a_{11} & a_{12} & a_{13}\ a_{21} & a_{22} & a_{23}\ a_{31} & a_{32} & a_{33} \end{array} \right] \circ \left[ \begin{array}{ccc} b_{11} & b_{12} & b_{13}\ b_{21} & b_{22} & b_{23}\ b_{31} & b_{32} & b_{33} \end{array} \right] = \left[ \begin{array}{ccc} a_{11}\times b_{11} & a_{12}\times b_{12} & a_{13}\times b_{13}\ a_{21}\times b_{21} & a_{22}\times b_{22} & a_{23}\times b_{23}\ a_{31}\times b_{31} & a_{32}\times b_{32} & a_{33}\times b_{33} \end{array} \right] \]

注意,哈达马乘积要求矩阵\(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]]
‘‘‘

哈达马乘积

原文:https://www.cnblogs.com/laizhenghong2012/p/10046067.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!