美文网首页人工智能通识程序员网入
人工智能通识-数学-矩阵乘法的线性方程意义

人工智能通识-数学-矩阵乘法的线性方程意义

作者: zhyuzh3d | 来源:发表于2019-02-02 10:48 被阅读12次

    欢迎关注我的专栏( つ•̀ω•́)つ【人工智能通识】


    继续前一篇零基础矩阵运算,来进一步学习矩阵乘法运算的意义。

    回顾

    矩阵的加法和我们熟悉的加法一样,但矩阵的乘法更像是把第二个矩阵当做权重来考虑,为第一个矩阵求加权和,计算法则是y行乘x列得到第yx,即:

    \begin{bmatrix} a_1,&b_1,&c_1\\ a_2,&b_2,&c_2\\ \end{bmatrix}\times \begin{bmatrix} w_a,s_a\\ w_b,s_b\\ w_c,s_c\\ \end{bmatrix}= \begin{bmatrix} a_1\times w_a+b_1\times w_b+c_1\times w_c,a_1\times s_a+b_1\times s_b+c_1\times s_c\\ a_2\times w_a+b_2\times w_b+c_2\times w_c,a_2\times s_a+b_2\times s_b+c_2\times s_c\\ \end{bmatrix}

    对应的三个表格是:

    • Data数据表:逐条数据(每家店铺各类商品销量)
    行数 a类 b类 c类
    row01 a_1 b_1 c_1
    row02 a_2 b_2 c_2
    • Weight权重表:各类双权重(每类商品单个销售价weight和进货价scale)
    类型 weight权重 scale放缩
    a类 w_1 s_1
    b类 w_2 s_2
    c类 w_3 s_3
    • Result结果表:加权和结果(每家店铺销售总额和进货总额)
    条目 weight加权和 scale加权和
    row01 a_1\times w_a+b_1\times w_b+c_1\times w_c a_1\times s_a+b_1\times s_b+c_1\times s_c
    row02 a_2\times w_a+b_2\times w_b+c_2\times w_c a_2\times s_a+b_2\times s_b+c_2\times s_c

    综上,数据表多1行,结果就多1行;权重表多1列,结果就多1列;数据表的列数必须与权重表的行数相同。在乘法中前后两个矩阵顺序不能互换。

    二项式意义

    假设我们只有xy两种商品类型的2条数据(2家店铺),xy两种商品类型的权重w未知(销售价未知),但加权和也就是总销量已知,那么理论上也应该能够求出w权重表。

    \begin{bmatrix} 4,&2\\ 3,&4\\ \end{bmatrix}\times \begin{bmatrix} x\\ y\\ \end{bmatrix}= \begin{bmatrix} 8\\ 11\\ \end{bmatrix}

    既然是加权和结果,那么我们就可以写作:
    \begin{cases} 4x+2y=8\\ 3x+4y=11\\ \end{cases}

    x,y:把4x+2y=8两端乘以2得到8x+4y=16,与3x+4y=11相减消去y,得到5x=5x=1,y=2

    实际上矩阵乘法可以看做多项式线性方程的简化写法,即:
    \begin{bmatrix} a_1,&b_1\\ a_2,&b_2\\ \end{bmatrix}\times \begin{bmatrix} x_w\\ y_w\\ \end{bmatrix}= \begin{bmatrix} a_1x_w+b_1w_b \\ a_2x_w+b_2w_b\\ \end{bmatrix}
    我们更倾向于调整一下xy的表示:
    \begin{bmatrix} a_1,&b_1\\ a_2,&b_2\\ \end{bmatrix}\times \begin{bmatrix} w_a\\ w_b\\ \end{bmatrix}= \begin{bmatrix} y_1\\ y_2\\ \end{bmatrix}
    \begin{cases} a_1w_a+b_1w_b=y_1\\ a_2w_a+b_2w_b=y_2 \end{cases}

    关于两列权重的情况请大家自己推理。

    矩阵乘法的变量关系

    如果我们已知一些条目数据(比如多家店铺多个商品的销售量),以及对应的结果数据(比如销售额),而这些条目数据和结果数据背后隐藏着某种线性相关,可以通过某些特定的加权值求和得到结果数据,那么矩阵乘法就可以表示这样的关系了。

    已知多个条目(样本)和结果(标签)求权重,这是机器学习和神经网络的基本思想。

    比如的房屋租金预测问题,已知100个包含房屋面积、房屋年龄等多列特征的租房信息(条目样本)以及对应的月租金额(标签结果),如果我们能找到面积的权重、房龄的权重以及每列特征对应的权重,那么我们就可以用这些权重来预测任何面积和房龄的房屋的租金了。

    • 样本表(已包含租金结果)
    条目 面积 房龄 租金(结果/标签)
    阳光花园3#401 90 3 7200
    乐享花园4#201 60 6 3200
    ... ... ... ...
    • 权重表
    因素类型 权重
    面积 w_1
    房龄 w_2
    ... ...
    • 结果表
    条目 租金(结果/标签)
    阳光花园3#401 90w_1+3w_2=7200
    乐享花园4#201 60w_1+6w_2=3200
    ... ...

    实际上这里的w_1w_2未必有解,尤其是数据条目有100条的时候,根本不可能100个方程共用2个权重,这就好像并非每家店铺的进货价都一样,销售价都一样,那不太可能。但是我们所需要寻找的正是100条数据样本中的规律,或者说就是有那么两个权重,对100条数据来说都接受的比较好,——虽然都不满意,但也都相差不大,只要总体相差最小的就可以了

    机器学习和神经网络的这个套路一定能成功吗?未必。比如,如果房屋面积和最终租金不是简单线性加权关系,而是是乘方立方n次方关系的话就不行了;更无法确定的是,如果是非线性的离散关系甚至更复杂的关系,也会导致结失败。——所以,机器学习和神经网络需要用更加丰富和复杂的算法来适应更多情况。


    欢迎关注我的专栏( つ•̀ω•́)つ【人工智能通识】


    每个人的智能新时代

    如果您发现文章错误,请不吝留言指正;
    如果您觉得有用,请点喜欢;
    如果您觉得很有用,欢迎转载~


    END

    相关文章

      网友评论

        本文标题:人工智能通识-数学-矩阵乘法的线性方程意义

        本文链接:https://www.haomeiwen.com/subject/buzjsqtx.html