搜索微信公众号:‘AI-ming3526’或者’计算机视觉这件小事’ 获取更多人工智能、机器学习干货
csdn:https://blog.csdn.net/qq_36645271
github:https://github.com/aimi-cn/AILearners
例如:
A = [ 1402 191 1371 821 949 1437 1147 1448 ] A=\left[ \begin{matrix} 1402&191\\ 1371&821\\ 949&1437\\ 1147&1448 \end{matrix} \right] A=⎣⎢⎢⎡14021371949114719182114371448⎦⎥⎥⎤
A A A是一个维度为 4 × 2 4\times2 4×2维的矩阵。 A i j A_{ij} Aij中下标 i i i和 j j j表示的是第 i i i行,第 j j j列所对应的那个项,如 A 11 = 1402 A_{11}=1402 A11=1402。矩阵提供了一种很好的方式让你快速的整理、索引和访问大量数据。
例如:
y = [ 460 232 315 178 ] y=\left[ \begin{matrix} 460\\ 232\\ 315\\ 178 \end{matrix} \right] y=⎣⎢⎢⎡460232315178⎦⎥⎥⎤
y y y是一个4维向量,意味着y是一个含有四个元素的向量。使用符号 y i y_i yi来表示向量 y y y中第 i i i个元素,如 y 1 = 460 y_1=460 y1=460。
就像大多数编程语言中的数组一样,矩阵和向量的下标也可以从0开始表示。
事实上在大部分数学表达式中,下标从1开始的情况比较常见,而对于很多机器学习的应用问题来说,下标从0开始为我们提供了一个更方便的符号表达。
通常在书写矩阵和向量时,大多数人会使用大写字母来表示矩阵,用小写字母表示向量。
例如:
KaTeX parse error: Expected & or \\ or \cr or \end at position 39: …2&0\\ 2&5\\ 3&1\̲ ̲\end{matrix} \r…
例如:
KaTeX parse error: Expected & or \\ or \cr or \end at position 46: …1&0\\ 2&5\\ 3&1\̲ ̲\end{matrix} \r…
例如:
[ 1 3 4 0 2 1 ] [ 1 5 ] = [ 16 4 7 ] 1 × 1 + 3 × 5 = 16 4 × 1 + 0 × 5 = 4 2 × 1 + 1 × 5 = 7 \left[ \begin{matrix} 1&3\\ 4&0\\ 2&1 \end{matrix} \right] \left[ \begin{matrix} 1\\ 5 \end{matrix} \right]= \left[ \begin{matrix} 16\\ 4\\ 7 \end{matrix} \right] \\1\times1+3\times5=16 \\4\times1+0\times5=4 \\2\times1+1\times5=7 ⎣⎡142301⎦⎤[15]=⎣⎡1647⎦⎤1×1+3×5=164×1+0×5=42×1+1×5=7
让 3 × 2 3\times2 3×2的矩阵和一个 2 × 1 2\times1 2×1的矩阵,也就是一个二维向量相乘,得到一个 3 × 1 3\times1 3×1的矩阵。
现在假设我们有四间房子和一个可以预测房价的假设函数。现在我们需要计算每个房子的预测值 h ( x ) h(x) h(x),我们可以使用矩阵向量相乘的方法来同时计算四间房子的预测值。
[ 1 2104 1 1416 1 1534 1 852 ] × [ − 40 0.25 ] = [ 463.5 314 343.5 173 ] \left[ \begin{matrix} 1&2104\\ 1&1416\\ 1&1534\\ 1&852 \end{matrix} \right]\times \left[ \begin{matrix} -40\\ 0.25 \end{matrix} \right]= \left[ \begin{matrix} 463.5\\ 314\\ 343.5\\ 173 \end{matrix} \right] ⎣⎢⎢⎡1111210414161534852⎦⎥⎥⎤×[−400.25]=⎣⎢⎢⎡463.5314343.5173⎦⎥⎥⎤
通过这种方法,我们在编程的时候就能用一行代码来一次性预测出四间房子的价格而避免使用循环语句,使代码简洁,更有效率。
例如:
[ 1 3 2 4 0 1 ] [ 1 3 0 1 5 2 ] = [ 11 10 9 14 ] \left[ \begin{matrix} 1&3&2\\ 4&0&1 \end{matrix} \right] \left[ \begin{matrix} 1&3\\ 0&1\\ 5&2 \end{matrix} \right]= \left[ \begin{matrix} 11&10\\ 9&14 \end{matrix} \right] [143021]⎣⎡105312⎦⎤=[1191014]
这个矩阵乘法的具体操作是将右侧 3 × 2 3\times2 3×2维的矩阵拆分成两个 3 3 3维列向量,之后分别与左侧的 2 × 3 2\times3 2×3维的矩阵做向量乘法,最后将的到的结果合并。
假设我们要预测四间房子的价格,但现在我们有三个假设。要想将这三个假设都用于这四间房子,就可以了通过矩阵乘法运算来提高效率。
在进行矩阵乘法运算之后,我们就会发现得到的目标矩阵的第一列就是第一个假设函数对四间房的价格做出的预测,第二列就是第二个假设函数对四间房的价格做出的预测,第三列就是第三个假设函数对四间房的价格做出的预测。通过构建两个矩阵,就可以了快速的把这三个假设函数应用到这四间房子上。进行一次操作就得到了12种预测。
例如:
又如假设矩阵 A A A是一个 m × n m\times n m×n维的矩阵,矩阵 B B B是一个 n × m n\times m n×m维的矩阵。若做矩阵运算 A × B A\times B A×B,则会的到一个 m × m m\times m m×m维的矩阵,若做矩阵运算 B × A B\times A B×A,则会的到一个 n × n n\times n n×n维的矩阵,结果矩阵维度发生变化。
例如:有三个维数为 m × m m\times m m×m的矩阵做矩阵乘法,则 A × B × C = ( A × B ) × C = A × ( B × C ) A\times B\times C=(A\times B)\times C=A\times (B\times C) A×B×C=(A×B)×C=A×(B×C)
例如:
在矩阵乘法中,通常 A B AB AB与 B A BA BA是不等价的,但是 A I = I A = A AI=IA=A AI=IA=A。
例如:
A A − 1 = [ 3 4 2 6 ] [ 0.4 − 0.1 − 0.05 0.075 ] = [ 1 0 0 1 ] = I 2 × 2 AA^{-1}= \left[ \begin{matrix} 3&4\\ 2&6 \end{matrix} \right] \left[ \begin{matrix} 0.4&-0.1\\ -0.05&0.075 \end{matrix} \right]= \left[ \begin{matrix} 1&0\\ 0&1 \end{matrix} \right]=I_{2\times2} AA−1=[3246][0.4−0.05−0.10.075]=[1001]=I2×2
例如:
A = [ 1 2 0 3 5 9 ] B = A T = [ 1 3 2 5 0 9 ] A=\left[ \begin{matrix} 1&2&0\\ 3&5&9 \end{matrix} \right] B=A^T=\left[ \begin{matrix} 1&3\\ 2&5\\ 0&9 \end{matrix} \right] A=[132509]B=AT=⎣⎡120359⎦⎤
其中 B 12 = A 21 = 3 B_{12}=A_{21}=3 B12=A21=3。
AIMI-CN AI学习交流群【1015286623】获取更多AI资料,扫码加群:
分享技术,乐享生活:欢迎关注我们的公众号,每周推送AI系列资讯类文章,欢迎您的关注!