Andrew Ng机器学习笔记(二)

一、简介

线性代数是代数学的一个分支,主要处理线性关系问题。线性代数是线性回归的分析工具之一。本次课程对对线性代数做了简要的复习可以让我们更好地研究线性回归(矩阵处理函数、广义逆矩阵、矩阵谱分析等)。本次笔记主要记录了多个变量的线性回归函数的表示及计算方式以及一些新的算法,如标准函数等,其中也记录了一些特征值取值区间归一化的方法,也讨论了代价函数中α的取值变化。

二、目录

Matrix

Multiple features

Feature scaling

Learning rate

Features and polynomial regression

Normal equation

三、线性代数复习

矩阵相加减:

必须是同维度的矩阵才能进行矩阵的加法运算,矩阵相加时,对应的元素分别相加。矩阵相减也同理。

矩阵与常数相乘:

一个矩阵乘以常数即把矩阵中的每一个元素都乘以这个常数,满足交换律,矩阵除以一个数可以等效于乘以这个数的倒数,与乘法同理。

向量:

向量中有几个元素就叫几维向量。一般用小写英文字母表示向量,用大写英文字母表示矩阵。向量也可以用有向线段来表示,有向线段的长度表示向量的大小,长度为0的向量表示0向量,长度等于1的向量叫做单位向量。

矩阵与向量相乘:

一个m×n维的矩阵和一个n维向量相乘,得到一个m维的向量。对应元素相乘后相加得到最终向量。矩阵与矩阵相乘同理。

矩阵乘法的巧妙运算:

矩阵的乘法可用函数表示。矩阵的乘法符合结合律,但不符合交换律。

单位矩阵:

对角线上全为1,其余元素全为0的方阵为单位矩阵,通常用I表示。

一个矩阵乘以它的逆矩阵得到一个单位矩阵,只有方阵才有逆矩阵。行列式的值为0的方阵叫奇异矩阵,也称无逆矩阵。(因为奇异矩阵没有能和它相乘得0的矩阵)。

矩阵的转置:

将一个矩阵的第n行变为第n列得到的新的矩阵为该矩阵的转置矩阵。

机器学习中运用较多的是矩阵的求导对矩阵中的每一个元素求偏导。公式如下:

四、主要内容

multiple features:

Multiple features 是一种更为有效的线性回归形式,和之前的单变量线性回归不同,它适用于多个变量或者多种特征值的情况,即适用于多变量的回归方程:

之前提到的可以用函数计算向量值,这里也可以将函数表示成向量。去x0=1,则可将这个假设方程写成上图中的x列向量和θ列向量的转置的乘积,这样就可以很简便地表示出假设函数了。

Gradientdescent for multiple variables:

可以将多变量线性回归的代价函数与单变量线性回归代价函数等同起来比较,只是在这里将θ看作是多维的向量函数,其余的都与单变量线性回归一样。

将多变量梯度下降算法与单变量梯度下降算法比较,两个算法实质是一样的,只是多变量线性回归将θ一直更新到n了,而单变量只取n=1.所以单变量线性回归梯度下降只是多变量线性回归梯度下降的一小部分。

       Feature scaling:

在特征值大于等于两个且不同特征值的变化范围区间相差很大的时候,特征数据缩放就显得十分关键了。如上图左,为x1和x2变化区间很大的时候,横向长度与纵向长度相差很大,这样很难找到代价函数的最优解,因为稍微改变一下θ的值,结果就会来回跳动,经过很长时间之后才能找到全局的最小值;而如果如上图右侧,x1与x2变化区间不太大的时候横向长度与纵向长度很接近,用这样的代价函数来求梯度能用较短的时间找到最小值。若要求将一个特征值的范围约束在某一个区间内,那么,xn的取值范围不能超过这个范围太多,也不能小于这个范围太多。

均值归一化可以将变量区间调节到一个比较适合的范围,大大提高梯度下降的效率,使梯度下降的算法循环大大减少。xi' = (xi - a) / b其中a可以为特征xi的均值,b则可以为xi的最大值、(最大值 - 最小值)、 标准差等,但一般用最大值减去最小值就行了这样算起来方便很多。

Learningrate:

画出梯度下降迭代步数的函数,当函数曲线变得平稳的时候,就说明梯度下降算法基本已经收敛了。如果左图的曲线不是成下降趋势的,那么也可以说明梯度下降算法出了问题,可能是α选择出错了。这时候就要重新调整α的值,使函数曲线呈现下降趋势。

当α的值选择过大时,则最后值会在最小值两侧来回跳动,不会得到最小值,这时候就要缩小α的值。函数图像呈现上图中的变小增大这样的变化曲线时,都可以通过缩小α的值来得到最小值。只要学习效率α足够小,代价函数就一定会下降,但是如果α过于小了,那么梯度下降的算法会下降得很慢,收敛到最小值要花的时间也就相应变长了,这时就要适当增大α的值,使算法效率提高。调参数非常重要!!!做机器学习实现大约70%的时间都会花在调整参数上面。

Featuresand polynomial regression:

要将多个数据拟合到一条函数曲线上面,当我们选择一次函数的时候,会发现这些数据不能很好地拟合上去,选择二次数据的时候,能拟合数据但是却会出现房价下降的情况(将房子卖出去当然不希望面积越大房价越低啦),这种曲线也不是我们想要的,当选择三次函数的时候,不仅能很好的拟合这些数据,还能保证房价不会在面积增加到某一个值的时候下降。

Normalequation:

和之前求假设函数类似,再经矩阵变换之后可以得出θ的公式如上图。

比较梯度下降和标准方程的优缺点可以得出:当样本数据比较小的时候,采用标准方程比较简便,当样本数据比较大的时候,采用梯度下降比较简便,因为此时标准方程算矩阵的乘积需要花费大量的时间,会大大降低效率,而此时采用梯度下降只需要不断改变α的值最后确定的α的取值。

Normalequation and non-invertibility:

1.   线性相关的矩阵不可逆;

2.   特征值大于等于训练值时;(此时要通过删除一些特征值)

3.   当矩阵x的行列式的值等于0的时候,矩阵不可逆。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值