python 矩阵点乘 、 基于向量运算的 softmax实现

 

1、关于python中矩阵点乘(除)

只允许三种情况出现:

(1)两个矩阵维度相同,则对应元素相乘

(2)矩阵乘以一个向量:

    a:  矩阵与行向量 相乘(mxn * 1*n 形式), 此时行向量长度 必须等于矩阵的列数

    b:矩阵与列向量相乘(mxn  * mx1 形式) 此时 矩阵的行数必须与列向量的行数相同

举例如下:

    a = np.array([
        [1, 2],
        [4,5],
        [7,8]
    ])
    b = np.array([2,3])
    print(a*b) #即 行向量 每个元素乘以 矩阵的对应列
    c = np.array([2,3,4])
    #print(a*c)  不可以 3X2 * 1x3

    d = np.array([
        [2],
        [3],
        [4]
    ])
    print(a*d) # 即列向量的每个元素乘以对应行
    e = [
        [2,2],
        [3,4],
        [4,4]
    ]
    print(a*e) # 即当矩阵维度相同时 对应元素相乘

 

2 、softmax向量化实现

import numpy as np

'''
    (1) softmax(x) == softmax(x+c)
'''
def soft_max(x):
    if(len(x.shap
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值