【吴恩达机器学习】第二周—多变量线性回归

31.jpg

1.多变量线性回归

在第一周的房价和房屋面积的例子中,由于变量只有一个—面积,所以这类机器学习问题称为单变量线性回归,很明显,当变量数量>1时,即为多变量线性回归

2.多维特征

现在,假设除了房屋面积外,又增加了房屋数量、楼层、房屋年龄等特征,则此模型即变为了多变量的模型,模型的特征为:x_1,x_2,...xn则相应的多维的假设函数为:
h_\theta (x) = \theta_0+\theta_1 x_1+\theta_2 x_2+...+\theta_n x_n

为了方便,此时引入x_0 = 1 h_\theta (x) = \theta_0 x_0+\theta_1 x_1+\theta_2 x_2+...+\theta_n x_n

简化一下,假设函数可以简化成: h_\theta (x) = \theta^TX

其中,特征矩阵X的维度是m 行 * n + 1列 T代表特征矩阵的转置

3.多变量梯度下降

多变量线性回归的损失函数/代价函数和之前的单变量线性回归类似,用到的还是平均损失函数,只是变量维度多了
J(\theta_0,\theta_1...\theta_n)= \frac{1}{2m}\Sigma^m_{i=1}=(h_\theta(x^{(i)} - y^{(i)}))^2其中:
h_\theta (x) = \theta^TX = \theta_0 x_0+\theta_1 x_1+\theta_2 x_2+...+\theta_n x_n

我们的目标和单变量线性回归问题中一样,是要找出使得代价函数最小的一系列参数。
多变量线性回归的批量梯度下降算法为:Repeat {\theta_j := \theta_j - \alpha\frac{\vartheta}{\vartheta\theta_j}J(\theta_0,\theta_1...\theta_n) }即:Repeat {\theta_j := \theta_j - \alpha\frac{\vartheta}{\vartheta\theta_j}\frac{1}{2m}\Sigma^m_{i=1}=(h_\theta(x^{(i)} - y^{(i)}))^2 }

求导后得到:Repeat {
\theta_j := \theta_j - \alpha\frac{1}{m}\Sigma^m_{i=1}(h_\theta(x^{(i)} - y^{(i)}) x_j^{(i)}) for (j = 0,1,2...n)
}
特征维度>1时(n>1)有:
\theta_0 := \theta_0 - \alpha\frac{1}{m}\Sigma^m_{i=1}(h_\theta(x^{(i)} - y^{(i)}) x_0^{(i)}) \theta_1 := \theta_1 - \alpha\frac{1}{m}\Sigma^m_{i=1}(h_\theta(x^{(i)} - y^{(i)}) x_1^{(i)})
\theta_2 := \theta_2 - \alpha\frac{1}{m}\Sigma^m_{i=1}(h_\theta(x^{(i)} - y^{(i)}) x_2^{(i)})

开始随机选择一系列参数值,计算所有预测结果,再给所有参数一个新的值,如此循环直到收敛,即损失函数局部最小值。代码示例:

def computeCost(X, y, theta):
    inner = np.power(((X * theta.T) - y), 2)
    return np.sum(inner) / (2* len(X))

4.特征缩放

还是以房子为例,多变量线性回归模型中,房价不仅取决于房屋面积这个特征,还取决于房屋数量这个特征。
这两个特征的范围分别为:
面积:0~2000平方英尺
房屋数量:0~5

以这两个特征绘制的等高线图如下:
屏幕快照 2019-07-11 20.46.09.png
屏幕快照 2019-07-11 20.46.09.png
从图中可以看出,图像比较扁,如果,梯度下降算法需要经过非常多次的迭代才能收敛,这时就需要通过一种手段来将这些特征的尺度都缩小到合适的范围,譬如-1~1之间,这种方式就叫做特征缩放
对x1特征,只需除以2000,对x2特征,除以5。即可使得特征值范围属于0~1
image.png

5.学习率

梯度下降算法收敛所需要的迭代次数根据模型的不同而不同,我们不能提前预知,我们可以绘制迭代次数和代价函数的图表来观测算法在何时趋于收敛。
如下图所示:

u=2991561657,474245474&fm=26&gp=0.jpg
u=2991561657,474245474&fm=26&gp=0.jpg
横轴为迭代次数、纵轴为损失函数值—loss,可以看见,通常在训练刚开始,单位迭代次数下,loss下降的最快,随着迭代次数增加、loss下降的越来越慢,直至近乎停止,趋于收敛。

有一些自动测试是否收敛的方法,例如将代价函数的变化值与某个阀值(例如 0.001)
进行比较,但通常看上面这样的图表更好。
梯度下降算法的每次迭代受到学习率的影响,如果学习率𝑎过小,则达到收敛所需的迭代次数会非常高;如果学习率𝑎过大,每次迭代可能不会减小代价函数,可能会越过局部最小值导致无法收敛。

通常可以考虑尝试这些学习率: 𝛼 = 0.01,0.03,0.1,0.3,1,3,10

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,743评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,296评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,285评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,485评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,581评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,821评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,960评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,719评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,186评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,516评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,650评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,329评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,936评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,757评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,991评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,370评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,527评论 2 349

推荐阅读更多精彩内容