Andrew Ng机器学习算法入门((五):矩阵和向量
矩阵定义
数学上,一个m×n的矩阵是一个由m行n列元素排列成的矩形阵列

使用Aij来获取矩阵中第i行j列的数据

向量的定义
向量就是n行1列的特殊矩阵

由于向量仅仅只有1行,那么通过一个变量i来指定获取第i行的数据,很容易理解。

矩阵运算
矩阵加法
矩阵的加法,要求两个矩阵或者是多个矩阵,要求所有的矩阵的列和行都是一样的,例如都是3X2的矩阵,或者是5x8矩阵。矩阵的加法就是将对应位置的数值相加即可。

矩阵的乘法
矩阵的乘法,就是使用数字和矩阵相乘,矩阵的乘法对矩阵没有要求。运算法则就是将乘数与矩阵中每一个数字相乘即可。

矩阵向量间的运算
一个m行n列的矩阵和n行向量相乘,最后得到就是一个m行的向量。运算法则就是矩阵中的每一行的数据与向量中的数据相乘,示例如下:

具体的例子为:

矩阵间的运算
一个m行n列的矩阵与一个n行q列的矩阵相乘,最后得到的就是一个m行q列的矩阵。

具体的例子为:

在前面的计算房屋面积与房价之间的关系的线性关系时,如果存在多对theta-0、theta-1,就可以转换为向量的运算。

矩阵乘法的性质
矩阵的乘法不满足交换律

矩阵的乘法满足结合律

单位矩阵
单位矩阵, n阶单位矩阵,是一个nxn的方形矩阵,其主对角线元素为1,其余元素为0。单位矩阵以I_n表示。在某些情况下,单位矩阵可以简写为I。

需要注意的是,如果I为单位矩阵,则有IXA=AXI,上图已经说明了这个情况。
矩阵的转置和逆运算
矩阵的逆,对于一个m行n列的矩阵A,如果存在A-1,满足A*A-1=I(I是单位矩阵),则表示A-1是A的逆。如下

需要注意的是,不是所有的矩阵都存在逆矩阵。例如如果一个矩阵中所有的元素全为0,则不存在逆矩阵,这样的矩阵叫做孤立矩阵。
矩阵的转置,设A为m行n列矩阵,第i行j列的元素是 a(i,j),即:A=a(i,j)。定义A 的转置为这样一个n行m列矩阵 B满足 B=a(j,i)即b(i,j)=a(j,i)(B的第i行第j列元素是A的第j行第i列元素)。

转置矩阵之前还存在一些性质,

总结
这些知识都是大学里面线性代数最简单的知识,还是比较简单。
为了能到远方,脚下的每一步都不能少
Andrew Ng机器学习算法入门((五):矩阵和向量的更多相关文章
- Andrew Ng机器学习算法入门(一):简介
简介 最近在参加一个利用机器学习来解决安全问题的算法比赛,但是对机器学习的算法一直不了解,所以先了解一下机器学习相关的算法. Andrew Ng就是前段时间从百度离职的吴恩达.关于吴恩达是谁,相信程序 ...
- Andrew Ng机器学习算法入门(二):机器学习分类
机器学习的定义 Arthur Samuel给出的定义,Field of Study that gives computers the ability to learn without being ex ...
- Andrew Ng机器学习算法入门(九):逻辑回归
逻辑回归 先前所讲的线性回归主要是一个预测问题,根据已知的数据去预测接下来的情况.线性回归中的房价的例子就很好地说明了这个问题. 然后在现实世界中,很多问题不是预测问题而是一个分类问题. 如邮件是否为 ...
- Andrew Ng机器学习算法入门(三):线性回归算法
线性回归 线性回归,就是能够用一个直线较为精确地描述数据之间的关系.这样当出现新的数据的时候,就能够预测出一个简单的值. 线性回归中最常见的就是房价的问题.一直存在很多房屋面积和房价的数据,如下图所示 ...
- Andrew Ng机器学习算法入门(十):过拟合问题解决方法
在使用机器学习对训练数据进行学习和分类的时候,会出现欠拟合和过拟合的问题.那么什么是欠拟合和过拟合问题呢?
- Andrew Ng机器学习算法入门(八):正规方程
正规方程 在先学习正规方程之前,先来复习一下之前学过的常规的回归方程的解法. 假设存在如果的代价函数, ,解法也十分的简答. 但是有时候遇到的情况或许会变得相当的复杂. 的数,如果是按照常规的方式进行 ...
- Andrew Ng机器学习算法入门((七):特征选择和多项式回归
特征选择 还是回归到房价的问题.在最开始的问题中,我们假设房价与房屋面积有关,那么最开始对房价预测的时候,回归方程可能如下所示: 其中frontage表示的房子的长,depth表示的是房子的宽. 但长 ...
- Andrew Ng机器学习算法入门((六):多变量线性回归方程求解
多变量线性回归 之前讨论的都是单变量的情况.例如房价与房屋面积之前的关系,但是实际上,房价除了房屋面积之外,还要房间数,楼层等因素相关.那么此时就变成了一个多变量线性回归的问题.在实际问题中,多变量的 ...
- Andrew Ng机器学习算法入门(四):阶梯下降算法
梯度降级算法简介 之前如果需要求出最佳的线性回归模型,就需要求出代价函数的最小值.在上一篇文章中,求解的问题比较简单,只有一个简单的参数.梯度降级算法就可以用来求出代价函数最小值. 梯度降级算法的在维 ...
随机推荐
- redis安装以及使用
一.安装 1.源码安装 1.下载redis源码 $ wget http://download.redis.io/releases/redis-4.0.10.tar.gz 2.解压缩 $ tar -zx ...
- FreeBSD WIFI 配置详细介绍
首先运行ifconfig,看看能不能找到你的网卡,如果能,那么你可以走了﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉运行sysctl net.wlan.devices,他可以告诉你,找到的无线网卡编辑/b ...
- Distributed Cache(分布式缓存)-SqlServer
分布式缓存是由多个应用服务器共享的缓存,通常作为外部服务存储在单个应用服务器上,常用的有SqlServer,Redis,NCache. 分布式缓存可以提高ASP.NET Core应用程序的性能和可伸缩 ...
- Centos7 Firewall 使用笔记
在 Centos 7 中防火墙由 firewalld 来管理,而不是以前的 iptables. 记录一下常用操作备查 firewall-cmd 操作 firewall-cmd --state 查看防火 ...
- python3 byte,int,str转换
1 # bytes 与 int 2 b=b'\x01\x02' 3 num=int.from_bytes(b,'little') 4 print('bytes转int:',num) 5 6 b1=nu ...
- JDK8之后,在java语言这条路怎么走?
前言 自2017年9月以来,Oracle按照免费的开源许可证(类似于Linux的许可证)提供JDK版本 .从Java SE 11(2018年9月,LTS)开始,Oracle不仅为开源许可下的所有用户免 ...
- shell 使用 cat 配合 EOF 创建文件并写入多行内容
之前折腾 GtiHub Actions 想实现提交 issue 后将 issue 的内容生成一个 Markdown 文件提交到仓库,从而实现自动发布到 GitHub Pages 的目的.倒是有一些现成 ...
- https如何使用python+flask来实现
摘要:一般http中存在请求信息明文传输,容易被窃听截取:数据的完整性未校验,容易被篡改:没有验证对方身份,存在冒充危险.面对这些问题,怎么破? 一.为什么要用https 一般http中存在如下问题: ...
- Day06_29_Static关键字
Static 关键字 * Static 关键字的用法 - static既可以修饰变量(全局变量和局部变量),又可以修饰方法.static类型的变量称为静态变量,如果不初始化则编译器自动初始化为0 - ...
- Vue和Node.js交互之token
博主最近工作的时候,公司后台使用的JAVA,在做登陆时总会传来一个token然后我存在了本地存储中或Vuex中,之后每一次请求把它带在请求头上,然后就好奇想要自己做一个后台服务器然后做一个完整的登陆的 ...