week1、2

来源:互联网 发布:在线投递简历功能源码 编辑:程序博客网 时间:2024/05/16 05:54

第一周

机器学习介绍

机器学习的定义:一个计算机程序被认为能够从经验E中学习,解决任务T,并且能够随E的增加,性能P得到提升。

目前主要的两种学习算法被称为监督学习和无监督学习,另外还有强化学习、推荐系统等学习算法。

监督学习

分类和回归问题都是监督学习中的一种。监督学习中,对于数据集中的每个数据都有相应的“正确答案”(训练集),算法是基于这些已标记的数据来做出预测。

无监督学习

聚类属于无监督学习中的一员。聚类算法中,要求不给学习算法任何先验知识,仅给出一堆数据集,学习算法能够自发的找出其中蕴含的结构类型,并对数据进行分类。

模型和代价函数

图1.1

如图1.1。其中,h为假设函数,即学习算法学到的函数;θ为假设函数中的参数;J为代价函数;我们的目标是最小化代价函数。

假设函数h:学习算法假设出的模型,其中的自变量(参数)为θ,

代价函数:公式化假设函数的预测值与真实值之间的距离。

目标:最小化代价函数,即尽可能缩小预测值与真实值之间的差距。

需要注意的是:代价函数中x所代表的输入样本以及y代表的真实值是已知的,只有θ是未知的,我们最小化代价函数的过程也就是调参的过程。

图1.2 两个参数的代价函数三维图像

图1.3 轮廓图

如图1.3,轮廓图中的每条线上的任意点(θ0,θ1)所对应的J函数的值是相等的。并且,他们距中心点的距离为预测值与真实值的差异。显然,距离越小,对应的J函数的值就越小,对应 的h函数就越接近我们理想中的函数。

参数学习

梯度下降算法

这里引入一种称为Gradient Descent(梯度下降算法)的参数学习方法。

我们的COST FUNCTION定义为J(θ0,θ1),目标是最小化cost function,也就是求如图1.4所示的最低谷所对应的参数值θ0,θ1。

图 1.4

具体的梯度下降算法如下:

其中α为学习率(步长)决定沿梯度下降方向前进的距离,α决定算法收敛的速度。如果α的取值过大,梯度下降可能会越过最低点。反之,梯度下降会过慢。我们希望当梯度下降到快接近最低点时,学习率α会相应的变小,这样收敛的速度就会慢下来,也更容易找到最低点;实际上,我们不需要降低学习率α,因为当快接近最低点时,图像会变得平缓,图像的变化率(即梯度)也会变小,最后参数θ的更新也会变小。

需要注意的是所有的参数θ是同时更新的。

线性回归的梯度下降算法

“Batch” Gradient Descent

Batch:梯度下降的每一步都用到了所有的训练样本。

梯度下降算法可以用来求解任何线性回归的问题,但也存在着不足,它每次更新都使用到所有的训练样本,当样本和参数的数量非常大时,对内存和计算机的计算速度都是很大的挑战。

线性代数回顾

本节主要讲解了一些关于矩阵的基础知识。包括向量和矩阵的概念,矩阵的相加和相乘,矩阵相乘的性质,逆矩阵和矩阵的转置。


多元函数的线性回归

多特征值和假设函数

X有多个特征值,假设X有m个特征值,则可写成列向量的形式:X=〖(x1,x2,…xm)〗^T ,相应的参数θ 是m+1维向量,〖θ=(θ0,θ1,…θm)〗^T 。

多特征值的假设为:h(θ )= θ0+θ1*x1+θ2*x2+⋯θm*xm,写成向量的形式为h( θ)= θ^T X。

梯度下降算法求解多特征值问题

其中,x的右上标i表示x是第i输入样本,右下标j表示x的第j个特征值。

特征缩放和均值归一化

特征缩放是缩放输入样本X的特征值,使它们最终在一个合理的范围,比如:[-1,1],[-0.5,0.5]。缩放后可以加快梯度下降算法收敛的速度。公式化为:xi=xi/(xmax-xmin) ,公式分母为特征值的取值范围。

均值归一化:x=(x-u)/(xmax-xmin) ,可以看作在特征缩放基础上的改进,将分子变成了,样本特征值和所有样本对应特征值平均值的差的形式。

学习率

学习率(步长),即每次迭代沿梯度下降方向前进的距离大小。迭代过程中,我们可以通过分析J(θ ),随迭代步长的变化曲线,来调节学习率的变化。迭代过程中,学习率不宜过大,也不应太小。学习率过小,则收敛速度会很慢;学习率太大,梯度下降有可能越过最低点,导致无法收敛的情况。我们可以从小到大逐渐增加学习率,以找到一个既能使收敛速度很快,也不会导致发散的 。比如,学习率的取值可以为:0.03,0.1,0.3,1,3。

特征值和多项式回归

如何选择一个合适的模型?

对于实际问题,考虑的角度不同,选择的特征值就不同,计算机最终模拟出的多项式函数和参数 θ也会不同。

标准方程法

标准方程法可以直接一次性求解 的最优值。

标准方程不需要归一化特征变量,不需要设置学习率,不需要迭代,运行一次即可得出最优解;梯度下降法特征向量归一化很重要。

标准方程法中求逆矩阵的计算量是O( n^3),当特征值变量n很大(n>>10000)时,计算会很慢。因此,当n不是很大时,可以使用标准方程法;n很大时,选择梯度下降法。

当样本数量为m,特征值数量为n时,X矩阵为m*(n+1)维矩阵,每一行表示一个样本。Y为样本的值构成的列向量。

正规方程及不可逆性