人工智能机器学习与数据分析(人工智能与机器学习很难入门)
电影《骇客帝国》的经典场景
你一定看过好莱坞的经典科幻影片《骇客帝国》,里面超级强大的AI已经统治了世界,而人类只能躲在阴暗的地下与之对抗。不过,你可能不知道,《骇客帝国》这个酷酷的名字,是引进这部影片时国内新起的,而这部电影的英文原名,就是“矩阵(matrix)”。可见,矩阵对于人工智能是多么重要的概念。
电影的名字就是矩阵!
什么是矩阵在机器学习里面,矩阵是非常非常重要且基础的概念。理解矩阵,可以从我们日常生活中经常看到的表格开始。
下面的这个表格,是本届世界杯法国队部分球员的数据:
2018年世界杯法国足球队主力球员
我们可以把上面的这个表格里的数据抽象成一个矩阵:
我们一般把某个矩阵称之为m×n矩阵,m是行数,n是列数。比如上面这个矩阵,有5行4列,我们称之为5×4矩阵。
使用NumPy创建矩阵在NumPy里面,创建矩阵一般用mat这个方法,应该是英文matrix的简称。下面演示几种常见的创建矩阵操作。
使用mat方法创建一个2X3矩阵:
创建一个2X3矩阵
使用zeros方法创建全零矩阵:
创建全零矩阵
使用ones方法创建全1矩阵:
创建全1矩阵
使用random.rand方法创建2×3的随机矩阵:
使用random.rand方法创建2×3的随机矩阵
使用eye方法创建单位矩阵:
如果一个矩阵对角线上的元素全为1,其他元素全为0时,我们称之为单位矩阵。显然,单位矩阵的行数和列数是相等的,也就是通常说的方阵。在矩阵的运算里,单位矩阵经常扮演普通数学计算中“1”的角色。
使用eye方法创建单位矩阵
NumPy的基本矩阵运算接下来我们聊聊如何用NumPy实现一些基本的矩阵运算。
矩阵的数乘:
矩阵的数乘是指的一个数字乘以一个矩阵,其结果就是矩阵的每个元素与这个数相乘形成的新的矩阵。
矩阵的数乘
矩阵的加减法:
矩阵的加减法就是两个矩阵对应的元素相加减所形成的新的矩阵,这里要求两个矩阵行列数相等。
下面以加法举例。
矩阵加法
矩阵的转置:
矩阵的转置是把矩阵的行和列调换,相当于倒过来。代码的实现方式如下:
mat.T
矩阵的转置
矩阵的点积:
矩阵的点积是非常重要的矩阵运算,注意不要和后面的矩阵乘法搞混,矩阵的点积类似矩阵加减法,就是对应元素相乘形成新的矩阵。这里要求两个矩阵的行列数相等。代码的实现如下,使用multiply这个方法来实现两个矩阵的点积:
np.multiply(mat1, mat2)
矩阵的点积
矩阵的乘法:
矩阵的乘法是最复杂的一个矩阵运算,简单的说就是第一个矩阵的行的每个元素乘以第二个矩阵列的每个元素然后相加而成。下面是百度百科里面的定义:
矩阵乘法的定义
下面这个动图可能会让你更加理解矩阵乘法:
矩阵的乘法使用代码实现就是把两个矩阵直接相乘:
mat1 * mat2
矩阵乘法的计算比较怪异,特别是有几个怪异的性质:
- 矩阵乘法必须在第一个矩阵的列数等于第二个矩阵的行数才可以进行。
- 矩阵乘法不满足交换律,也就是说相乘的两个矩阵不能调换位置。
本文介绍了矩阵的基本概念以及一些简单操作,希望对你有所帮助。之后我们会继续深入学习其他的矩阵知识。
其他热门文章:
五分钟就能学会!手把手教你搭建机器学习开发环境
手把手教你搭建机器学习开发环境—Python与NumPy的超简安装教程
手把手教你配置最漂亮的PyCharm界面,Python程序员必备!
一句话解释区块链,你却为什么听不懂?
麻将、区块链以及去中心化
科普:比特币的密码就像泼出去的水,丢了就永远找不回来!
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com