一、Multiple Features

这节课主要引入了一些记号,假设现在有n个特征,那么:



为了便于用矩阵处理,令\(x_0=1\):



参数\(\theta\)是一个(n+1)*1维的向量,任一个训练样本也是(n+1)*1维的向量,故对于每个训练样本:\(h_\theta(x)=\theta^Tx\)。

二、Gradient Decent for Multiple Variables

类似地,定义代价函数:



同时更新参数直到\(J\)收敛:

\[\theta_j:=\theta_j-\alpha \frac{1}{m}\sum_{i=1}^{m}(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}
\]

三、Feature Scaling

这些特征的值如果有着近似的尺度,那么梯度下降会收敛得更快,其实就是归一化。

Andrew建议将特征的值缩放到[-1,1]之间:

\[x_i=\frac{x_i-u_i}{s_i},u_i是平均值,s_i可以取max-min或者取标准差
\]

四、Learning Rate

1、梯度下降收敛所需的迭代次数是不确定的,可以通过绘制迭代次数与\(J\)的图来预测何时收敛;也可以通过代价函数的变化是否小于某个阈值来判断。

2、学习率一般可以尝试0.001,0.003,0.01,0.03,0.1,0.3,1...

五、Features and Polynomial Regression

线性回归有时候并不适用,有时需要多项式回归。

多项式回归可以转化为线性回归。

六、Normal Equation

正规方程通过直接求导,使得导数为0,进而求得\(\theta\)的解析解,使得\(J\)最小,而不需要像梯度下降那样迭代。



X是m*(n+1)特征矩阵,y是m*1向量,由图容易得出:

\(y=X\theta\)(这公式显然是错的。。。\(y\)只是采集到的标签),解出\(\theta=X^{-1}y\)(所以结论也是错的),这样得到的\(\theta\)显然不能使得损失函数最小。

课程里写成了\(\theta=(X^TX)^{-1}X^Ty\),详细推导是通过对代价函数求导得到的。这个公式不能化简为\(\theta=X^{-1}y\),因为只有\(X^T\)和\(X\)都可逆,才有\((X^TX)^{-1}=X^{-1}(X^T)^{-1}\)。

两种算法的比较:



正规方程只适用于线性模型,而且不需要Feature Scaling。

#Week3 Linear Regression with Multiple Variables的更多相关文章

  1. Linear regression with multiple variables(多特征的线型回归)算法实例_梯度下降解法(Gradient DesentMulti)以及正规方程解法(Normal Equation)

    ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, , ...

  2. Machine Learning – 第2周(Linear Regression with Multiple Variables、Octave/Matlab Tutorial)

    Machine Learning – Coursera Octave for Microsoft Windows GNU Octave官网 GNU Octave帮助文档 (有900页的pdf版本) O ...

  3. 机器学习(三)--------多变量线性回归(Linear Regression with Multiple Variables)

    机器学习(三)--------多变量线性回归(Linear Regression with Multiple Variables) 同样是预测房价问题  如果有多个特征值 那么这种情况下  假设h表示 ...

  4. 【原】Coursera—Andrew Ng机器学习—Week 2 习题—Linear Regression with Multiple Variables 多变量线性回归

    Gradient Descent for Multiple Variables [1]多变量线性模型  代价函数 Answer:AB [2]Feature Scaling 特征缩放 Answer:D ...

  5. 机器学习 (二) 多变量线性回归 Linear Regression with Multiple Variables

    文章内容均来自斯坦福大学的Andrew Ng教授讲解的Machine Learning课程,本文是针对该课程的个人学习笔记,如有疏漏,请以原课程所讲述内容为准.感谢博主Rachel Zhang 的个人 ...

  6. 机器学习之多变量线性回归(Linear Regression with multiple variables)

    1. Multiple features(多维特征) 在机器学习之单变量线性回归(Linear Regression with One Variable)我们提到过的线性回归中,我们只有一个单一特征量 ...

  7. ML:多变量代价函数和梯度下降(Linear Regression with Multiple Variables)

    代价函数cost function 公式: 其中,变量θ(Rn+1或者R(n+1)*1) 向量化: Octave实现: function J = computeCost(X, y, theta) %C ...

  8. 机器学习笔记-1 Linear Regression with Multiple Variables(week 2)

    1. Multiple Features note:X0 is equal to 1 2. Feature Scaling Idea: make sure features are on a simi ...

  9. 斯坦福机器学习视频笔记 Week2 多元线性回归 Linear Regression with Multiple Variables

    相比于week1中讨论的单变量的线性回归,多元线性回归更具有一般性,应用范围也更大,更贴近实际. Multiple Features 上面就是接上次的例子,将房价预测问题进行扩充,添加多个特征(fea ...

随机推荐

  1. Java对字母大小写转换

    Java对字母大小写转换 1.小写——大写String aa = "abc".toUpperCase(); 2.大写——小写 String bb = "ABC" ...

  2. Python常见数据结构-Set集合

    集合基本特点 集合是无序的,且集合内无重复值. 集合不支持索引和切片 集合常见操作及方法 s1 = {1,2,3} s2 = {2,3,4} s1.add(4) #.add()方法添加一个元素 s1. ...

  3. softmax回归推导

    向量\(y\)(为one-hot编码,只有一个值为1,其他的值为0)真实类别标签(维度为\(m\),表示有\(m\)类别): \[y=\begin{bmatrix}y_1\\ y_2\\ ...\\y ...

  4. Vue中el-form标签中的自定义el-select下拉框标签

    页面写死el-select下拉框标签: 通过v-for="item in stateArr"绑定,stateArr声明在Vue组件里面的data参数里面代码如下: <el-f ...

  5. C - Sigma Function LightOJ - 1336 (数论)

    一个让人脑洞大开的题. 题目大意比较简单,询问[1,n]有多少个数其因子和为偶数. 因子分解定理中求因子和的公式是 f(n)=(1+p1+p1^2+p1^3+...+p1^a1)(1+p2+p2^2+ ...

  6. E - Max Sum Plus Plus Plus HDU - 1244 (线性区间DP)

    题目大意:  值得注意的一点是题目要求的是这些子段之间的最大整数和.注意和Max Sum Plus Plus这个题目的区别. 题解: 线性区间DP,对每一段考虑取或者不取.定义状态dp[i][j]指的 ...

  7. 解决vue element table行列不齐问题

    全局加入如下样式即可(app.vue): body .el-table th.gutter{ display: table-cell!important; }

  8. pyinstaller打包

    参考 官网:http://www.pyinstaller.org/ pyinstaller参数使用 使用spec文件 安装 Windows依赖pypiwin32,新版的pyinstaller已经包含了 ...

  9. 10.添加script标签,判断onload是否完成

    class Tools { static loadScript(url, callback) { let old_script = document.getElementById(url); if ( ...

  10. eclipse集成 json editor plugin插件

    打开eclipse 找到: help--->install new software ——>add name:jsoneditor location:https://marketplace ...