一、引言
1.1 什么是机器学习
定义1:在进行特定编程的情况下,给予计算机学习能力的领域。
定义2:一个程序被认为能够从经验E中学习,解决任务T,达到性能度量值P,当且仅当有了经验E后,经过P评判,程序在处理T时性能有所提升。
1.2 监督学习Supervised Learning
监督学习:我们数据集中每个样本都有对应的正确答案,再根据这些样本作出预测。
回归:输出连续值;
分类:离散值。
1.3 无监督学习Unsupervised Learning
无监督学习中没有任何标签或者是有相同的标签或者就是没有标签。
针对数据集,无监督学习把这些数据分成两个不同的簇,所以叫做聚类算法。
应用
- 基因学的理解应用
- 社交网络分析
- 组织大型计算机集群
- 细分市场
- 新闻事件分类
二、单变量线性回归(Linear Regression with One Variable)
2.1 模型描述
线性回归算法:
比如预测房价问题
训练集里房屋价格 我们把它喂给我们的学习算法,学习算法的工作了,然后输出一个函数,通常表示为小写h表示。 h代表hypothesis(假设),表示一个函数,输入是房屋尺寸大小,就像你朋友想出售的房屋,因此h根据输入的x值来得出y值,y值对应房子的价格,因此,h是一个从 x到 y 的函数映射。
2.2 代价函数
代价函数也称之为平方误差函数,平方误差代价函数。
(为了把直线与数据相拟合)
在线性回归中我们有一个像这样的训练集,m代表了训练样本的数量,比如 m=47。而我们的假设函数,也就是用来进行预测的函数,是这样的线性函数形式:hθ(x)=θ0+θ1x。
模型所预测的值与训练集中实际值之间的差距(下图中蓝线所指)就是建模误差(modeling error)。我们的目标便是选择出可以使得建模误差的平方和能够最小的模型参数。
代价函数:
最小。
2.3 梯度下降
梯度下降法是求解函数最小值的方法,用于求解代价函数的最小值。
梯度下降背后的思想是:开始时我们随机选择一个参数的组合 ,计算代价函数,然后我们寻找下一个能让代价函数值下降最多的参数组合。我们持续这么做直到到到一个局部最小值(local minimum),因为我们并没有尝试完所有的参数组合,所以不能确定我们得到的局部最小值是否便是全局最小值(global minimum),选择不同的初始参数组合,可能会找到不同的局部最小值。
批量梯度下降(batch gradient descent)算法:
特点:需要同步更新两个参数
α是学习率,它决定了我们沿着能让代价函数下降程度最大的方向向下迈出的步子有多大,在批量梯度下降中,我们每一次都同时让所有的参数减去学习速率乘以代价函数的导数。
局部最优点的导数将等于零,因为它是那条切线的斜率。
2.4 线性回归的梯度下降
梯度下降是很常用的算法,它不仅被用在线性回归上和线性回归模型、平方误差代价函数。
批量梯度下降,指的是在梯度下降的每一步中,我们都用到了所有的训练样本,在梯度下降中,在计算微分求导项时,我们需要进行求和运算,所以,在每一个单独的梯度下降中,我们最终都要计算这样一个东西,这个项需要对所有个训练样本求和。
这种梯度下降的算法称之为批量梯度下降算法,主要特点:
- 在梯度下降的每一步中,我们都用到了所有的训练样本
- 在梯度下降中,在计算微分求导项时,我们需要进行求和运算,需要对所有m个训练样本求和
三、线性代数
3.1 矩阵
矩阵的维数即行数×列数。
3.2 加法和标量乘法
加法:行列数相同。
标量乘法:支持交换律。
3.3 矩阵乘法
矩阵向量乘法:m×n的矩阵乘以n×o的矩阵=m×o。
3.4 矩阵的逆与转置