欢迎关注我的专栏( つ•̀ω•́)つ【人工智能通识】
继续前一篇零基础矩阵运算,来进一步学习矩阵乘法运算的意义。
回顾
矩阵的加法和我们熟悉的加法一样,但矩阵的乘法更像是把第二个矩阵当做权重来考虑,为第一个矩阵求加权和,计算法则是行乘列得到第行列,即:
对应的三个表格是:
- Data数据表:逐条数据(每家店铺各类商品销量)
行数 | a类 | b类 | c类 |
---|---|---|---|
row01 | |||
row02 |
- Weight权重表:各类双权重(每类商品单个销售价weight和进货价scale)
类型 | weight权重 | scale放缩 |
---|---|---|
a类 | ||
b类 | ||
c类 |
- Result结果表:加权和结果(每家店铺销售总额和进货总额)
条目 | weight加权和 | scale加权和 |
---|---|---|
row01 | ||
row02 |
综上,数据表多1行,结果就多1行;权重表多1列,结果就多1列;数据表的列数必须与权重表的行数相同。在乘法中前后两个矩阵顺序不能互换。
二项式意义
假设我们只有和两种商品类型的2条数据(2家店铺),和两种商品类型的权重未知(销售价未知),但加权和也就是总销量已知,那么理论上也应该能够求出权重表。
既然是加权和结果,那么我们就可以写作:
求:把两端乘以2得到,与相减消去,得到即。
实际上矩阵乘法可以看做多项式线性方程的简化写法,即:
我们更倾向于调整一下的表示:
关于两列权重的情况请大家自己推理。
矩阵乘法的变量关系
如果我们已知一些条目数据(比如多家店铺多个商品的销售量),以及对应的结果数据(比如销售额),而这些条目数据和结果数据背后隐藏着某种线性相关,可以通过某些特定的加权值求和得到结果数据,那么矩阵乘法就可以表示这样的关系了。
已知多个条目(样本)和结果(标签)求权重,这是机器学习和神经网络的基本思想。
比如的房屋租金预测问题,已知100个包含房屋面积、房屋年龄等多列特征的租房信息(条目样本)以及对应的月租金额(标签结果),如果我们能找到面积的权重、房龄的权重以及每列特征对应的权重,那么我们就可以用这些权重来预测任何面积和房龄的房屋的租金了。
- 样本表(已包含租金结果)
条目 | 面积 | 房龄 | 租金(结果/标签) |
---|---|---|---|
阳光花园3#401 | 90 | 3 | 7200 |
乐享花园4#201 | 60 | 6 | 3200 |
… | … | … | … |
- 权重表
因素类型 | 权重 |
---|---|
面积 | |
房龄 | |
… | … |
- 结果表
条目 | 租金(结果/标签) |
---|---|
阳光花园3#401 | |
乐享花园4#201 | |
… | … |
实际上这里的和未必有解,尤其是数据条目有100条的时候,根本不可能100个方程共用2个权重,这就好像并非每家店铺的进货价都一样,销售价都一样,那不太可能。但是我们所需要寻找的正是100条数据样本中的规律,或者说就是有那么两个权重,对100条数据来说都接受的比较好,——虽然都不满意,但也都相差不大,只要总体相差最小的就可以了。
机器学习和神经网络的这个套路一定能成功吗?未必。比如,如果房屋面积和最终租金不是简单线性加权关系,而是是乘方立方n次方关系的话就不行了;更无法确定的是,如果是非线性的离散关系甚至更复杂的关系,也会导致结失败。——所以,机器学习和神经网络需要用更加丰富和复杂的算法来适应更多情况。
欢迎关注我的专栏( つ•̀ω•́)つ【人工智能通识】
每个人的智能新时代
如果您发现文章错误,请不吝留言指正;
如果您觉得有用,请点喜欢;
如果您觉得很有用,欢迎转载~
END