矩阵乘法在机器学习上应用
接着上次的预测房价的例子,假如我们知道了一个预测房价的模型:,然后有一些待测数据x(House sizes),求预测房价,当然简单的就是将x带入,编程实现可以用for循环依次算得,但对于数据量大的显然没有那么有效率,我们可以简单的利用矩阵乘法来计算:
House sizes:2104,1416,1534,852
我们可以将house sizes变成矩阵,模型变成:,两者相成得到:
计算的到的矩阵向量就是所有预测的房价,对于数据量大的数据,展现了这种方法的简洁性。
举一反三:对于有多个预测模型的函数,据可以运用矩阵和矩阵的乘法解决:
现在有三个预测房价的函数,分别对应矩阵的一个列向量,计算出的矩阵每一列就是预测房价的结果,这就是为什么后面多元线性回归的时候将参数变为转置(变为行向量)的原因,方便用矩阵内积运算。
没有向量化之前可能会使用for循环的方式实现求和函数,但是转换成向量来做只需要一条语句就能实现;
p = A * X‘ ;%(Octave 图形化计算语句)
参见:octave基本操作
矩阵的逆和转置:
在一些机器学习算法原理中会经常看到一些矩阵的运算,矩阵的逆和转置则很常见:
矩阵的逆:https://jingyan.baidu.com/article/1709ad8095e1924634c4f03a.html (单位矩阵)
矩阵的转置:https://jingyan.baidu.com/article/a3f121e4b36c72fc9152bb77.html