StudyNotes_MachineLearning_3(吴恩达机器学习公开课)

这篇博客探讨了多元线性回归的概念,包括多变量预测、梯度下降法在多变量情况下的应用和特征缩放的重要性。还讨论了学习率的选择,以及如何通过绘制代价函数图像来调整。此外,提到了多项式回归作为特征选择的一种方式,并介绍了正规方程作为求解线性回归参数的直接方法,对比了它与梯度下降的适用场景。
摘要由CSDN通过智能技术生成

Linear Regression with multiple variables

1.Multiple features(多特征)

1.1multiple variables(多变量)

        通过多变量来进行预测的问题。各种记法如上图所示。

         相应的,假设函数也应变化为一个多变量的函数形式。

        定义x_{0}=1,分别用n+1维的向量来表示x的集合,根据向量运算可以把假设函数转变为向量乘法形式。而以上这种形式的问题称为多元线性回归问题。

1.2 gradient descent for multiple variables(多元梯度下降)

        可以看到假设函数变成了一个多变量问题,将n+1个θ参数表示为一个n+1维的向量;

        代价函数中,J(θ)中θ是向量(n+1维);

        梯度下降公式中,J(θ)也作相应改变。

        在这张图中, 对比了单变量和多变量下梯度函数的区别(事实上仅是多了些参数的偏导求解)。此外,将x_{1}定义为1也将公式在形式上进行了统一。

        但需要注意的是,θ的更新,仍然是需要同步进行的。

1.3 feature scaling(特征缩放)

        在多变量的梯度下降中,如果参数θ彼此的尺度差距过大,则会很大程度上影响梯度下降算法的运行效率,所以在这个前提下,我们可以通过特征缩放的方法,来消除不利影响。

        确保特征的尺度在一个相近的规模;如上图例子,左侧为未处理的特征情况,房屋大小的范围为0-2000,而卧室数量为0-5,其等高线图也如左侧所示。

        当进行了特征缩放(将房屋大小除以2000,卧室数量除以5)后,x_{1}x_{2}的范围都缩放到了0-1之间,这时梯度下降的效果是较好的。

        特征缩放的标准是尽量将每一个特征缩放至(-1)—1区间附近,无需特别精准,如上图右侧范围就是典型的好的特征范围。

         均值归一化也是特征缩放的常用技巧。

x_{1}\leftarrow \frac{x_{1}-\mu_{1}}{s_{1}}

         其中\mu_{1}x_{1}的平均值,s_{1}既可定义为range(区间最大值减去最小值),也可定义为standard deviation(标准差)。

 1.4 learning rate(学习率)

        这一小节的内容有关如何选择合适的学习率α。 

         通过绘制一张迭代次数(横坐标);与代价函数J(θ) (纵坐标);的图像,可以判断这个二梯度下降算法是否正常工作(收敛)的。

        也可以定义一个极小的\varepsilon值来判敛,而吴老师更倾向于绘制一张直观的坐标图。

         当图像呈上图中模样时,我们应该选择更小的α值,因为函数图像的发散可能预示着,我们由于选择了大步长,而越过了局部最优解,像上图右侧般地左右横跳。

         如之前提到的,α值太小可能会导致收敛过慢;太大则可能会导致每次迭代是非下降的,甚至无法收敛,所以作者给出的建议值如上0.001......等。

2.Features and polynomial regression(特征与多项式回归)

2.1 choose features

         上图的假设函数选择特征时,frontage和depth特征的乘积事实上恰是房屋面积,也即是影响房屋价格预测的根本性质,所以不妨合并两个属性,设x为二特征的乘积来简化h_{\theta}(x)

二次多项式与三次多项式拟合
平方根函数拟合

         多项式回归(polynomial regression):通过二次函数或三次函数对数据进行拟合,根据其大概趋势的判断来选择合适的多项式,二次函数或可较好的拟合此例(房屋价格随尺寸涨幅)前半段,但随尺寸增长反而再次下降是不符合常理的,故三次函数或平方根函数或可较好的拟合之后的趋势。

        图中,可以将x_{1},x_{2},x_{3}定义为房屋大小值得一次二次三次方来将其变回为线性回归问题,但此时需要注意的是,要进行合适的特征缩放来减少量级变化的影响。

3.Normal equation(正规方程)

3.1definition

        正规方程法是一种自动求得θ最小值的方程法;其公式:

(X^TX)^{-1}X^{T}y

         

         在求解二次函数最小值时,我们常用的数学方法是对函数求导并令其为零;对于多变量的函数则是求偏导数并分别令每个偏导数为零计算求解。

         在这个例子中,数据集的行数为4;列数为5(x_{0}.....x_{3},x_{4} ),自变量下标对应着不同特征,即n个特征,将其特征部分构造为一个矩阵X_{m*(n+1)} ,价格预测部份定义为一个m维的向量y

        则使得代价函数J(\theta)最小的\theta值即为上述公式:

\theta = (X^{T}X)^{-1}X^{T}y

         解释:

        x^{(m)}的上标m,代表的是第m条数据,即这个(m)为index,来标定某一条数据,这条数据包含的是x^{(m)}_{0},x^{(m)}_{1},x^{(m)}_{2},......,x^{(m)}_{n}。而其中x_{n}^{(m)}表示第m条数据的第n个特征的值。

        上图下方举例:

        若记录x^{(i)}为一个2维的,即只有一个特征的向量(x_{0}定义为1是方便后续计算,其值定义为1)。

        则X矩阵是一个m*2的矩阵。(但是个人感觉这个上标及下标的记录好像有手误,应以上半部分的示例为准)。

3.2 compared with gradient descent(与梯度下降算法对比) 

         综合而言,当特征数量过于巨大时,即n=10000甚至更多时,其矩阵的计算时相当大的规模,所以这种情况下梯度下降算法是更好的选择,而当特征的数量并不是过于多时,正规方程则提供了一种简单有效的直接算法,来求目标的\theta值,且不像梯度下降算法需要多次迭代。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值