coursera《机器学习》吴恩达-week2-01 多个变量的线性回归
2017-08-17 18:39
375 查看
具有多个特征的线性回归
多个变量=多个特征在原版本我们有
X =房屋大小,用它来预测
y =房价
如果在一个新的计划中,我们有更多的变量(如卧室数量,楼层数,家庭年龄)
x 1,x 2,x 3,x 4 是四个特征
x 1 - 尺寸(平方)
x 2 - 卧室数量
x 3 - 楼层数量
x 4 - 家庭年龄(岁)
y是输出变量(price)
更多符号
n
特征数(n = 4)
m
示例数(即表中的行数)
x i
某个例子的输入向量(第i个输入例子的四个参数的向量 )
i是训练集的索引
所以
x是n维特征向量
例如x 3 是第三个房屋,并且包含与该房屋相关联的四个特征
xij
第i个训练示例中的特征j的值
所以
例如,x32是第三个房子的卧室数
现在我们有多个特征
我们的假设是什么形式?
以前我们的假设采取了形式;
ħ θ(X) =θ0 + θ1X
这里我们有两个参数(theta 1和theta 2)由我们的成本函数确定
一个变量x
现在我们有多个特征
hθ(x) = θ0 + θ1x1 + θ2x2 + θ3x3 + θ4x4
例如
hθ(x) = 80 + 0.1x1 + 0.01x2 + 3x3 - 2x4
一个试图预测房屋价格的假设的例子
参数仍然通过成本函数确定
为了方便记号, x 0 = 1
对于每个例子,我每个例子都有一个额外的第0个特征
所以现在你的特征向量是从0索引的n + 1维特征向量
这是一个名为x的列向量
每个示例都有一个与其相关联的列向量
所以让我们说一个新的例子叫做“X”
参数也在0索引的n+1维向量中
这也是一个称为θ的列向量
该向量对于每个示例是相同的
考虑到这一点,假设函数可写为:
hθ(x) = θ0x0 + θ1x1 + θ2x2 + θ3x3 + θ4x4
如果我们这样做
hθ(x) =θT X
θT为[1×(N+1)]矩阵
换句话说,由于 θ 是列向量,所以转置操作将其转换成行向量
所以以前
θ 是矩阵[(N+1)×1]
现在
θT 是矩阵[1×(N+1)]
这意味着的 θ T和X的内部尺寸匹配,因此它们可以被相乘
[1 x n+1] * [n+1 x 1]
= hθ(x)
所以,换句话说,我们的参数向量*的一个输入示例X给出了一个预测的假设,即[1 x 1]维度(即单个值)
这个x 0=1可以让我们这样写
这是多变量线性回归的例子
多个变量的梯度下降
具有梯度下降的假设的拟合参数参数 θ 0 至 θ Ñ
而不是将它们视为n个独立的值,而是将参数视为单个向量(θ)
其中 θ 为n + 1维
我们的成本函数是
类似地,不考虑J作为n + 1个数的函数,J(θ)只是参数向量的函数
Gradient descent
再次,这是
-θj = θj -学习率(α)*J(θ)针对θJ(…)的偏导数
我们通过这样做 同时更新 每个 θ j 值
实现这个算法
当n = 1时
上面,我们有稍微不同的更新规则 θ 0 和 θ 1
实际上它们是一样的,除了结尾有一个以前未定义的 x0(i)为1,所以没有显示
我们现在对于多变量梯度下降具有几乎相同的规则
这里发生了什么?
我们正在为每个j(0到n)做同时更新(像n = 1时)
所以,我们重新设定 θ j 为
θ j 减去学习率( α)倍的相对于 θj的偏导数 θ 矢量
在非微积分词中,这意味着我们这样做
学习率
*1 / m(使数学更容易)
*所有的差值和
将可变向量的假设减去实际值乘以该可变向量的第j个值
需要牢记
这些算法都很相似
梯度下降实例1:特征缩放
涵盖了这个理论,我们现在继续了解一些实际的技巧特征缩放
如果您有多个特征的问题
您应该确保这些特征具有相似的尺寸
意味着 梯度下降将更快地收敛
例如
x1 =大小(0 - 2000英尺)
x2 =卧室数量(1-5)
也就是说,如果我们绘制所生成的轮廓 θ 1个 与 θ 2 由于庞大的距离差,得到了非常高而薄的形状
在这种成本函数上运行梯度下降可能需要很长时间才能找到全局最小值
病态输入到梯度下降
所以我们需要重新调整这个输入,使它更有效
因此,如果您通过除以每个特征的最大值来定义x1和x2中的每个值
轮廓变得更像圆(按0和1之间的比例)
可能想把所有东西都变成-1到+1范围(近似的)
想要避免相对于另一特征值的特大范围,小范围或相互不同的范围
规定可接受的范围
-3到+3比较好 - 大了就不好了
-1/3到+1/3也行 - 太小不好
可以做平均归一化
取一个特征值 x i
将其替换为(xi - avg)/max
所以你的所有值的平均值约为0
除了最大值,也可以使用标准差
学
a49f
习速率α
聚焦学习速率(α)主题
更新规则
调试
如何选择 α
确保梯度下降正常工作
绘制最小J(θ)与迭代次数最小化
(即在梯度下降过程中绘制J(θ)
如果梯度下降工作,则每次迭代后J(θ)应减小
如果您在一定数量后没有取得巨大收益,也可以显示
如果需要,可以应用启发式方法来减少迭代次数
例如,如果在1000次迭代之后,您几乎无需减少参数,您可以选择仅在以后运行1000次迭代
确保你不会意外硬编码这样的门槛,然后忘记为什么他们是!
(i.e. plotting J(θ) over the course of gradient descent
If gradient descent is working then J(θ) should decrease after every iteration
Can also show if you’re not making huge gains after a certain number
Can apply heuristics to reduce number of iterations if need be
If, for example, after 1000 iterations you reduce the parameters by nearly nothing you could chose to only run 1000 iterations in the future
Make sure you don’t accidentally hard-code thresholds like this in and then forget about why they’re their though!
特征和多项式回归
标准方程法
标准方程和不可逆性
相关文章推荐
- coursera《机器学习》吴恩达-week1-02 单一变量的线性回归
- 吴恩达Coursera机器学习课程笔记-单变量线性回归
- Coursera_机器学习_week2_多变量线性回归
- 第一周(基础知识 + 单变量线性回归)-【机器学习-Coursera Machine Learning-吴恩达】
- 第二周(多变量线性回归 +Matlab使用)-【机器学习-Coursera Machine Learning-吴恩达】
- coursera《机器学习》吴恩达-week1-01 课程介绍
- 吴恩达《机器学习》一元变量的线性回归
- Coursera机器学习笔记 第1周 二、单变量线性回归(一)
- Coursera公开课笔记: 斯坦福大学机器学习第二课“单变量线性回归(Linear regression with one variable)”
- Coursera公开课笔记: 斯坦福大学机器学习第四课“多变量线性回归(Linear Regression with Multiple Variables)”
- Coursera公开课笔记: 斯坦福大学机器学习第二课“单变量线性回归(Linear regression with one variable)”
- Coursera公开课笔记: 斯坦福大学机器学习第四课“多变量线性回归(Linear Regression with Multiple Variables)”
- coursera《机器学习》吴恩达-week1-04 线性代数基础
- 吴恩达-coursera-机器学习-week10
- coursera《机器学习》吴恩达-week1-03 梯度下降算法
- Coursera公开课笔记: 斯坦福大学机器学习第四课“多变量线性回归(Linear Regression with Multiple Variables)”
- Andrew NG 机器学习 笔记-week2-多变量线性回归
- Stanford公开课机器学习---week1-2.单变量线性回归(Linear Regression with One Variable)
- coursera_机器学习_吴恩达_week1
- Coursera公开课笔记: 斯坦福大学机器学习第二课“单变量线性回归(Linear regression with one variable)”