Toggle navigation
Yang's Blog
主页
week 9
Machine Learning
week 2
week 3
week 4
week 5
week 6
week 7
week 8
week 10
End_to_End_Learning
About Me
归档
标签
week 2
0
无
2017-09-08 22:39:42
2
0
hljyy96@126.com
week 2 1.linear regression with multiple variables 对之前的房价模型增加多个特征,如房间数、层数,增加后如下图所示: ![](https://leanote.com/api/file/getImage?fileId=5976a7d8ab6441338300087c) 由此引入一系列新的注释: n代表特征的数量 $x^{(i)}$代表第i个training sample,也就是特征矩阵的第i行,比如在上图中,$$x^{(2)}=\begin{bmatrix} 1416 \\ 3 \\ 2 \\40\\ \end{bmatrix} $$ $x _j ^{(i)}$代表特征矩阵中第i行第j个特征,也就是第i个training sample中的第j个特征,如上图中,$x _3 ^{(2)}$=2 h相应的从$h _\theta(x)=\theta _0 +\theta _1 x$变为 $h _\theta(x)=\theta _0 +\theta _1 x _1+ \theta _2 x _2+\theta _3 x_3+...+\theta _n x_n$ 由于公式中有n个变量和n+1个参数,为了简化上述hypothesis,在$\theta _0$后引入一个$x_0=1$,转化后的公式为: $h _\theta(x)=\theta _0 x_0 +\theta _1 x _1+ \theta _2 x _2+\theta _3 x_3+...+\theta _n x_n$ 此时模型中是一个n+1维度的向量,任意一个training sample也都是一个n+1维度的向量,所以公式可以简化为: $h _\theta (x)=\theta ^TX$ 2.gradient decent for multiple variables 与单变量linear regression类似,我们也要构造一个cost function,这个函数为所有modeling error的平方和: $J(\theta _0,\theta _1...\theta _n)=\frac 1 {2m}\sum \limits ^m _{i=1}(h _\theta(x^{(i)})-y^{(i)})^2$ 类似于单变量线性回归,我们也是要找出满足代价函数最小解时的一组参数($\theta _0,\theta _1...\theta _n$) 所以多变量线性回归梯度下降算法为: repeat { $\theta _j:=\theta _j -\alpha \mathrm{\frac d {d\theta _j}}J(\theta _0,\theta _1...\theta _n) $ } 即: repeat { $\theta _j:=\theta _j-\alpha \mathrm{\frac d {d \theta}}\frac 1 {2m}\sum \limits ^m _{i=1}(h _\theta(x^{(i)})-y^{(i)})^2 $ } 求导后得: repeat { $\theta _j:=\theta _j-\alpha \frac 1 m \sum \limits ^m _{i=1}(h_ \theta (x^{(i)})-y^{(i)})x^{(i)} _j $ } 其中i对应的是第i组training sample,比如当i=1时,$$x^{(i)}=x^{(1)}= \begin {bmatrix} 2104 && 5 && 1 &&45 \end {bmatrix} $$ $h(x^{(1)})=1*\theta _0+2104*\theta_1+5*\theta_2+1*\theta_3+45*\theta_4$ 当对第j个元素进行递归下降时,对h中的第j个$\theta$求导即可,所以在末尾乘上第i个training sample中的第j个元素 3.gradient decent in practice 1-feather scaling 所谓特征缩放就是在分析多维度问题的时候保证这些特征具有相近的尺度,帮助递归下降算法尽快的收敛。 以房价问题为例,当仅采用两个特征:房间尺寸和房间数量时,假设尺寸的范围为0-2000,数量的范围为0-5,以这两个参数为横纵坐标,等高线图如下: ![](https://leanote.com/api/file/getImage?fileId=5976b60dab644135b4000ba1) 可以看出来图像很扁,需要多次递归下降才能收敛,解决的方法是将所有的特征尺度尽可能的缩放到-1到1之间,如下图: ![](https://leanote.com/api/file/getImage?fileId=5976b60dab644135b4000ba2) 最简单的方法是令$x_n=\frac {x _n-u _n} {s_n}$ 其中$u_n$为平均值,$s_n$为标准差。 4.gradient decent in practice 2-learning rate 通常情况下学习速率$\alpha$过小的话,则达到收敛的迭代次数就会很高;如果$\alpha$过大,每次迭代可能不会减少代价函数,可能会越过局部最小值而导致无法收敛。 通常可以考虑的学习速率: $\alpha$=0.01 0.03 0.1 0.3 1 3 10 5.feathers and polynomial regression 如下图房价模型: ![](https://leanote.com/api/file/getImage?fileId=5976b9b6ab64413383000bf2) 可以看出来线性回归不能良好的描述这个问题,所以我们考虑采用二次方模型: $h_\theta (x)=\theta _0+\theta_1x_1+\theta_2x_2 ^2$ 我们可以令$x_2=x^2 _2$,从而将曲线模型转换为线性回归模型,或者: $h_\theta(x)=\theta_0+\theta_1 size+\theta_2(size)^2$ $h_\theta(x)=\theta_0+\theta_1 size+\theta_2 \sqrt{(size)}$ 6.normal equation 在某些情况下往往使用normal equation会起到比linear regression更好的效果,如下图的cost function: ![](https://leanote.com/api/file/getImage?fileId=5976b9b6ab64413383000bf1) 针对于次二次函数曲线,可以令$J(\theta)=a\theta^2+b\theta+c$,求其导数: $\mathrm{\frac d {d\theta_j}}J(\theta _j)=0$ 假设我们training set的特征矩阵为X(包含了$x_0=1$),training set的结果为向量y,则通过正规方程:$\theta ^TX=Y$可以解出向量$\theta=(X^TX)^{-1}X^TY$
week 3
week 8
0
赞
2 人读过
新浪微博
微信
更多分享
腾讯微博
QQ空间
人人网
提交评论
立即登录
, 发表评论.
没有帐号?
立即注册
0
条评论
More...
文档导航