Linear Regression with multiple variables

方法一: Cost function

cost function

Gradient Descent

gradient

x0默认为1

Feature Scaling

Idea:Make sure feature are on a similar scale.Get every feature into approximately a (-1<=xi<1) range.(一般正负3之间即可)
目的:将梯度下降的速度变得更快,收敛所需的迭代次数更少。

E.g. x1 = size(0-2000 feet2) x2 = number of dedrooms(1-5)
其等值线图为竖直椭圆,梯度下降很慢
将其转为 x1 = size/2000 x2 = number/5

  • Mean normalization(均值归一化)

让所有特征值的均值接近0(Do not allpy to x0=1)
方法:x(i) = (x(i) - u(i)) / s(i) ----> u(i):训练集中x(i)的平均值/s(i)训练集中x(i)的范围max-min

Learning rate

Making sure gradient descent is working correctly.
Example automatic convergence test:Declare convergence if J(代价函数) decreases by less than 10^-3 in one iteration.

For sufficiently small α,J(cost function) should decrease on every iteration.(对于足够小的学习速率,代价函数值会在每一次迭代之后减小)
But if α is too small, gradient descent can be slow to converge.

To choose α,try …,0.001,0.01,0,1,1,…

Features and polynomial regression(多项式回归)

对于多个特征,我们可以定义出更为合适的新特征。E.g. 房屋价格预测,已知特征长和宽,转化为新特征面积。

思想:线性回归的局限性是只能应用于存在线性关系的数据中,但是在实际生活中,很多数据之间是非线性关系,虽然也可以用线性回归拟合非线性回归,但是效果将会很差,这时候就需要对线性回归模型进行改进,使之能够拟合非线性数据。(二次项,三次项等)

方法二:Normal equation(正规方程)

提供了一种直接求 θ 的解析方法,一次性得到 θ 的最优解,无需迭代。

对J(θ)求偏导 = 0;(for every j)

矩阵:

X 为m*(n+1)维矩阵 Y为m维向量
推到:X * θ = Y -----> θ = (X^-1) * Y (X不一定是方阵,而只有方阵才具有可逆的性质,故转化为(X^T) * X)
针对(X^T) * X 不可逆:这种情况很少发生,如果发生,使用pinv(伪逆函数)依旧可以算出θ。
出现(X^T) * X 不可逆的原因一般两种:

正规方程与梯度下降对比:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值