机器学习入门:多变量线性回归

摘要:给你们简单介绍了多变量线性回归,还附赠在处理梯度降低过程当中通用的两个小技巧。

本文分享自华为云社区《【跟着小Mi一块儿机器学习吧!】多变量线性回归(一)》,原文做者:Skytier。算法

1 多维特征

image.png

如今咱们有四个特征变量,以下图:
image.png
image.pngsegmentfault

详细来讲,这个假设是为了预测以万为单位的房屋价格,一个房子的基本的价格多是80w,加上每平方米1000元,而后价格会随着楼层数的增长继续增加,随着卧室数的增长而增长,可是呢,随着使用年数的增长而贬值,这么一看这个例子是否是颇有道理!
image.png机器学习

2 多变量梯度降低

好了,多变量线性回归假设的形式已经有了,也就是说料已经有了,接下来就要开始炒菜啦!
image.png函数

求导数后可获得:
image.png学习

代码示例:测试

计算代价函数:
image.pngspa

Python代码:code

def computeCost(X, y, theta):

    inner = np.power(((X * theta.T) - y), 2)

    return np.sum(inner) / (2 * len(X))

3 梯度降低法实践-特征缩放

接下来,咱们将学习一些在梯度降低运算中的实用技巧,首先给你们介绍一个称为特征缩放的方法,这个方法以下:
image.png
image.png
image.png
image.png
image.png
image.png
image.pngblog

4 梯度降低法实践-学习率

image.png
image.png
image.png

梯度降低算法收敛所须要的迭代次数根据模型的不一样而不一样,咱们不能提早预知,咱们能够绘制迭代次数和代价函数的图表来观测算法在什么时候趋于收敛。get

也有一些自动测试是否收敛的方法,例如将代价函数的变化值小于某个阀值(例如0.001),那么测试就断定函数已经收敛,可是选择一个合适的阈值是至关困难的,所以,为了检测梯度降低算法是否收敛,更倾向于经过看曲线图,而不是依靠自动收敛测试。
image.png
image.png
image.png

点击关注,第一时间了解华为云新鲜技术~