机器学习基础之矩阵乘法

矩阵乘法在机器学习上应用

接着上次的预测房价的例子,假如我们知道了一个预测房价的模型:\small h_\theta(x)=-40+0.25x,然后有一些待测数据x(House sizes),求预测房价\small h_\theta(x),当然简单的就是将x带入,编程实现可以用for循环依次算得,但对于数据量大的显然没有那么有效率,我们可以简单的利用矩阵乘法来计算:

House sizes:2104,1416,1534,852

我们可以将house sizes变成矩阵\small \begin{bmatrix} 1 &2104 \\ 1& 1416\\ 1& 1534\\ 1& 852 \end{bmatrix},模型\small h_\theta(x)变成:\small \begin{bmatrix} -40\\ 0.25 \end{bmatrix},两者相成得到:

\small \begin{bmatrix} 1 &2104 \\ 1& 1416\\ 1& 1534\\ 1& 852 \end{bmatrix}*\begin{bmatrix} -40\\ 0.25 \end{bmatrix}=\begin{bmatrix} -40*1+2104*0.25\\ -40*1+1416*0.25\\ -40*1+1534*0.25\\ -40*1+852*0.25 \end{bmatrix}

计算的到的矩阵向量就是所有预测的房价,对于数据量大的数据,展现了这种方法的简洁性。

举一反三:对于有多个预测模型的函数,据可以运用矩阵和矩阵的乘法解决:

机器学习基础之矩阵乘法_第1张图片

现在有三个预测房价的函数,分别对应矩阵的一个列向量,计算出的矩阵每一列就是预测房价的结果,这就是为什么后面多元线性回归的时候将\small \theta_{(i)}参数变为转置(变为行向量)的原因,方便用矩阵内积运算。

没有向量化之前可能会使用for循环的方式实现求和函数,但是转换成向量来做只需要一条语句就能实现;

p = A * X‘ ;%(Octave 图形化计算语句)

参见:octave基本操作

矩阵的逆和转置:

在一些机器学习算法原理中会经常看到一些矩阵的运算,矩阵的逆和转置则很常见:

矩阵的逆:https://jingyan.baidu.com/article/1709ad8095e1924634c4f03a.html    \small A(A^{-1})=A^{-1}A=I(单位矩阵)

矩阵的转置:https://jingyan.baidu.com/article/a3f121e4b36c72fc9152bb77.html

你可能感兴趣的:(机器学习基础之矩阵乘法)