机器学习week2

Linear Regression with MultipleVariables

  • Multiple features(variables)

 

 

多变量的假设函数

 

 

 

  • Gradient descent for multiple variables

 

这里将theta0到thetan用一个n+1维的矢量theta表示,所以相应的代价函数可以用含矢量theta的参数表示,在梯度下降算法中,所有的参数都是同时更新的,也就是使用的参数值是更新前的参数值。

  多变量的假设函数;

  多变量的代价函数

 

 

多变量的梯度下降新算法

多变量的梯度下降算法与单变量的相似,更新规则完全一样,在对某一个参数求偏导时其他参数的值都是已知的,且为更新前的值。

 

 

  • Gradient descent in practice I:Feature Scaling

 

 feature skill

为了能过快速的达到最小值,我们可以将特征的范围缩放到相同的范围内。

 

特征缩放:

 

 

均值归一化:样本值减去样本均值然后除以样本最大值与最小值的差

 

  • Gradient descent in practice II:learning rate

 

本视频的任务为两个:

 

 

如何确定下降算法已经收敛(多少次迭代后收敛),两种方法,一种是绘制最小代价函数与迭代次数的曲线,另一种是通过设定一个阈值,当最小代价函数的值变化小于该阈值时,说明收敛。

 

当我们在绘制最小代价函数与迭代次数的曲线时,如果发现下图一的情况(随着迭代次数的增加,最小代价函数的值也在变大),则说明所使用的学习率alpha太大,需要减小alpha。如果出现图二的情况,同样的说明alpha太大。

虽然选择足够小的alpha能使得每一次迭代后代价函数的值都会减小,但是如果alpha太小,梯度下降算法收敛的速度将会非常慢。

 

练习题:

总结:

alpha选的过小,收敛速度将很慢,alpha选的过大,代价函数值可能出现随着迭代次数的增加而变大,从而导致不收敛。一般的做法是尝试不同的alpha来确定最佳值。

 

  • Features and Polynomial regression

 

特征的选择,学习算法,多项式回归以适应更多更复杂的,甚至是非线性的函数。Frontagetimes depth——land area

在特征的选择上,通常选择一些能让你得到一个更好的模型的特征,比如这里的房子,门前的宽度和侧方的宽度这两个特征可以被融合为一个新的特征:占地面积land area。

 

多项式回归,特征的选择很重要,实际情况中假设函数与某些特征并不一定是线性的关系,可能与该特征值的平方或立方成线性关系,这样就出现了多项式回归,当出现特征的值的n次方时,特征缩放显得尤为重要。

 

 

 

 

  • Normal equation

梯度下降算法是通过多次迭代的方法寻找最优解,而正则方程则是一步直接解的最优解

 

 

 

最直接的一维的情况就是求代价函数对已变量theta的导数,使得导数等于0的theta就是我们要求的theta值。同样的对于多维的情况,对每一个变量求偏导,令每一个偏导等于零求得多个theta的值。

 

 

设计矩阵X,X的每一行代表一个样本对应的所有的特征的值(包括x0=1,所以X的大小为m*(n+1))

 

当使用正则方程来计算theta时,不需要像梯度下降算法那样进行特征缩放。

 

 

 

Octave Tutorial

  • Basic operations

PS1('>>');%显示的大小

disp(a);%屏幕显示

disp(sprintf('2decimals: %0.2f',a))

formatlong % 显示的小数个数

formatshort

ones(2,3);zeros(1,3);rand(3,3);randn(1,3)%随机的高斯分布;eye(6)

helpfunction

 

  • Moving data around

A=[1 2;34;5 6]

size(A)--32

size(A,1)--3

length(A)--3;length([1;2;3;4;5])--5

pwd  % 返回当前目录

cd'c:\users\ang\Desktop'  %改变当前目录  Is %显示当前目录的文件

 

Loadfeaturesx.dat %将数据载入Octave

LoadpriceY.dat

Load('featuresx.dat')

 

Who%显示当前工作空间中的变量

Whos %显示当前工作空间的变量及大小,类型

 

Save hello.mat v;%将v存为hello.mat的文件

Save hello.txt v;  %将v存为hello.text的文件

 A=[1 2;3 4;5 6]

A(:,2)--[2;4;6]

A(:,2)=[10;11;12]--A=[110;3 11;5 12]

A(:)   %将A的所有元素组成一个单一的矢量

 

  • Normal equation

 

当XTX不可逆时,可以从两个方面来处理这一问题,第一个是检查是否有冗余的特征,第二个是检查时候选择的特征太多,是否已经大于了数据集的大小

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值