导图社区 2 -2-多输入变量回归 Regression with multiple input variables
吴恩达机器学习,第二周课程的思维脑图笔记,整理了多元变量、向量化、用于多元线性回归的梯度下降法、特征缩放等。
这是一篇关于内存结构的思维导图,主要内容包括:5、堆,4、栈,3、全局/静态存储区,2、常量存储区,1、代码区。
社区模板帮助中心,点此进入>>
安全教育的重要性
个人日常活动安排思维导图
西游记主要人物性格分析
17种头脑风暴法
如何令自己更快乐
头脑风暴法四个原则
思维导图
第二职业规划书
记一篇有颜又有料的笔记-by babe
伯赞学习技巧
2 - Regression with multiple input variables
Supervised Machine Learning Regression and Classification 有监督的机器学习:回归与分类
Mulpitle Features 多元变量
How to present Model
IF you have n features
Introduce a little bit of notation
Multiple linear regression
With multiple input features
Vectorization 向量化
Gradient descent
Without Vectorization
for loop and compute step by step
With Vectorization
use parallel processing hardware
Optional Lab: Python, Numpy, and Vectorization
Gradient Descent for Multiple Regression 用于多元线性回归的梯度下降法
矢量符号(vector notation)
不使用矢量化符号 与 使用矢量化符号 的表示方法
一元梯度下降 和 多元梯度下降
an alternative to gradient descent 梯度下降的替代方案
Normal equation
Feature Scaling 特征缩放
Feature and parameter values
Feature size and parampter size
w1的小变化,会对估计价格产生较大影响,因为w1通常乘以一个较大的数字(size in feet^2) w2需要更大的变化,才能大大改变预测,因此对于w2的微小变化,几乎不会改变成本函数(cost function)
所以有啥影响?
因为这个 contour 又高又瘦,gradient descent 最终可能会来回弹跳 很久之后才会到达最低点
这种情况下,一个很有用的方法便是 scale the features
对训练数据进行一些转换,让 x1 和 x2 的范围都处于 0 到 1
使用 rescaled data 进行 gradient descent,梯度下降路径如下
总结:rescaling the different features so they all take on comparable range of values
How to implement feature scaling
first way 直接除以最大值
second way Mean normalization(均值归一化) μ1 和 μ2 是 特征1 和 特征2 的平均值
third way Z-score normalization(Z-score归一化)
calculate the standard deviation of each feature 计算特征的标准差
the normal distribution or the bell-shaped curve 正态分布 或者 钟形曲线
Gaussian distribute 高斯分布
计算 平均值μ 以及 标准差σ
通过 特征缩放 让 梯度下降 运行的更快
Checking Gradient Descent for Convergence 判断梯度下降是否收敛
weather find the parameter close to global minimum of the cost function 是否找到成本函数的全局最小值的参数
一个关键点是:the choice of the learing rate α
gradient descent 的目的是 find the parameter w and b that hopefully minimum the Cost Function J
Choosing the Learning Rate 如何设置学习率
Learning Rate
Too large
Not converge 不收敛
Too small
Run very slowly 跑的慢
学习率 α 的选择
Feature Engineering 特征工程
通过对问题的知识和直觉来创建新变量,通常通过变换或者组合原始特征 使得学习算法更容易做出准确的预测
有时候定义 new features 可以获得好的模型
特征工程不仅可以拟合你的数据里的 straight lines,还可以拟合 curves,non-linear functions
Polynomial Regression 多项式回归
二次函数终究会回归(call down) 这不是而我们所希望的,大房子应该花费更多
housing data-set
既然二次函数不行,那么三次函数呢 price最终会随着size变大而变大
如果创建的函数是这种 幂 比较大的函数,特征缩放更加重要了 - size = 1-10^3 - size^2 = 1-10^6 - size^3 = 1-10^9 通原始值相比,高幂范围与原始值大不一样,如果使用梯度下降,使用特征缩放将特征值转换为可比较的范围
Problem:不都是X吗?只有一个值也会存在范围问题吗???
最后一个例子 How you really have wide range of choice of features to use. Another reasonable alternative to take the size squared is size cubed.
随着 x 的增加,显得不那么陡峭,也永远不会变平
Finally, How Do I Decide What Features TO Use???
在第二门课程中,你将了解如何选择不同的 Fearues 和包含或者不包含这些 Fearues,而且你还会有一张衡量这些不同模型表,决定是否包含哪些 Fearues
现在啊你只需知道: 你可以选择使用哪些 Features,通过使用特征工程和多项式函数,你可以获得一个更好的 Model to your data
Lab1:FeatEng_PolyReg_Soln
Lab2:Sklearn_GD_Soln