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

31.jpg

1.课程回顾

例1:房价和面积—预测

给定一组房价和房屋面积的数据集,通过机器学习算法(监督学习)来拟合画出一条线,根据这条线来对未知的数据进行判断。
1.png
1.png

假设机器通过这些房价数据学习得到一条房价—面积关系线,如上图中红线,那么如果你朋友的750英尺的房子,就可以通过这条红线来估算出房价,可以看出,大约是在150K美金左右。

这是一个典型的回归问题(Regression),因为结果(房价)可以是任意实数,且数据是可以连续的。

更进一步,由于变量1个—房屋尺寸,且预测结果(房价)和变量间的表达式可以用线性方程描述y = k*x + b。所有,此问题在机器学习中的术语叫做:单变量线性回归 Linear Regression with One Variable

例2:乳腺癌良性/恶性和尺寸关系

给定一组数据:乳腺癌肿瘤尺寸大小 和 癌症恶性/良性关系,通过机器学习,来预测一个给定肿瘤尺寸大小的患者,疾病是恶性还是良性的概率。
2.png
2.png

这个问题和之前的房价问题有些区别,虽然同样的,变量只有一个,即x轴上的尺寸大小,但是y轴的结果却只有两种:0和1,0表示肿瘤分类为良性;1表示分类为恶性。

所以,这是一个典型的分类问题(Classification)由于这里结果只有两种,所以此分类问题为二元分类问题

2.分类Classification

这两个例子都比较通俗易懂,新接触到的名词虽然有点多但也无需过度理解,两个例子中涉及到了监督学习中的分类问题回归问题。分类问题很好理解,机器预测值只有固定的几个类别,课程中为两种:0良性肿瘤 1 恶性肿瘤,所以称为二分类,除了二分类以外,其他的统称多分类。

3.回归Regression

与分类问题相对,回归问题的预测值范围比较自由,可以是连续的,且可取任意实数

4.监督学习Supervised Learning

课程中的两个问题:房价-房屋面积、肿瘤良恶—肿瘤尺寸都是属于监督学习。可以先简单理解,监督学习就是给定了数据集,且数据是规则明确的,有标签的。可以理解为结构化的、存储在数据库中的数据,喂给机器学习的情况,就叫做监督学习。

5.无监督学习Unsupervised Learning

与监督学习相对,如果给出的数据集、没有明确标签或者是非结构化的,那么这类数据的机器学习,就叫做无监督学习。除了监督学习、无监督学习、还有半监督学习的概念。具体可以看看知乎:https://www.zhihu.com/question/23194489/answer/25028661

6.假设hypothesis

我们以例1为例说明hypothesis(假设),这也涉及到后面的代价函数。
ℎ—hypothesis(假设),代表学习算法的解决方案或函数。
ℎ表示一个函数,实际上即模型的预测函数,在例1中,输入是房屋尺寸大小,就像你朋友想出售的房屋,因此 ℎ 根据输入的房屋面积值x 来得到此防房屋估价y,因此,ℎ是一个从x 到 y的映射,由于是单变量线性回归,映射关系可以简单表示为:等价于 h_\theta(x)= \theta_0 + \theta_1x

举个栗子

很明显,在此例中,通过假设函数,我们可以对数据集以外的样本做预测,如果假设函数是: h_\theta(x) = 1/4x 那么如果你的朋友有一套面积为500(英尺)的房子,那么你就可以告诉他,你的房价预估在125K(12.5万)美金

误差

你那个朋友过来找到你了,说你的假设有误啊,我那套500英尺的房子,明明就是100K而已,你的数据集的数据还记录了我的房子呢......你这有误差啊?!
预测值125和真实值之间差距为25K,这里25K就被称为建模误差。

7.损失函数Cost Function

代价函数/损失函数,就是用于评估误差水平的函数,常见的损失函数有平方损失函数交叉熵损失函数,其中前者多用于回归问题,后者多用于分类问题。理论上,给定一批房屋面积—价格数据点,我可以根据这批数据画出无数条假设函数h_\theta(x)直线用于模拟房价和面积之间的关系,那么怎么找到最优的那条线?这时,我们就会用到代价函数,好的代价函数必然使得数据集总体的误差最小。

image.png

举个例子,此时我有三个样本点 (1,1),(2,2),(3,3),我怎么确定一个假设函数h,使得这条线能最优化地拟合所有数据,能更精确地预测下一个位置样本点的数据,譬如x = 5时 y的值?这里人眼很明显一看就能确定h_\theta(x) = 0 + x 即可,不过对于机器,怎么去确定这个方程?
此时就需要用到代价函数,这里我们可以用回归问题通用的平方损失函数/平方代价函数,评估假设函数的误差水平。这里,例1的代价函数如下:

4.png
4.png
直白点意思就是:求每个样本点i 的误差的平方,累加求平均值,关于最后为什么是1/2m 而不是 1/m,这个其实主要是通用的约定,为了求导方便。

损失函数的意义就在于,通过求损失函数的值,我们可以评估预测函数的准确性,损失越小,则模型的预测越精准。所以,训练模型很多时候就是降低损失,找到损失函数的最小值,通过其最小值来产出最优的假设函数。

8.二元函数梯度下降Gradient Descent

图解

5.png
5.png

概述

目标

找到损失函数的最小值,即J(\theta_0,\theta_1)最小的点,所以我们利用梯度下降算法(而不是梯度上升)
为了找到损失函数的最小值,我们采用梯度下降算法,图中为二元函数梯度下降图解,如果参数为更多元,则无法绘制出相应的梯度下降图,不过这幅图恰巧能生动地解释梯度下降的含义。
这里x、y轴分别为参数\theta_0和 \theta_1所在维度,z轴代表代价函数J的大小,所有的\theta_0和 \theta_1参数点和损失函数J(\theta_0,\theta_1)值构成了五彩的三维曲面,最终目标:即通过梯度下降算法,找到J(\theta_0,\theta_1)最小的点。
肉眼可见右边红色箭头所指的点,为局部梯度最低点,即局部J(\theta_0,\theta_1)最小值点;左边红色箭头所指的点为整个三维曲面上的最小值点,即全局最低点。

公式

这里,批量梯度下降(batch gradient descent)算法的公式为:
\theta_j := \theta_j - \alpha\frac{\vartheta}{\vartheta\theta_j}J(\theta_0,\theta_1) for( j = 0 and j = 1)

参数解释

1.公式中为什么是\alpha,因为用于表示梯度下降,即逐渐降低,故用负号表示
2.公式中用的是:=符号,此含义表示,等式中的参数需要同时更新。如此处有两个参数\theta_0和 \theta_1正确的更新方式是:
第一步: temp0 = \theta_0 - \alpha\frac{\vartheta}{\vartheta\theta_0}J(\theta_0,\theta_1) temp1 = \theta_1 - \alpha\frac{\vartheta}{\vartheta\theta_1}J(\theta_0,\theta_1)
第二步: \theta_0 = temp0 \theta_1 = temp1
其中第一步完成后才能进行第二步,且在每一步执行时,内部求temp1、temp2时也是并行的关系

学习率

批量梯度下降公式中,\alpha为学习率(learning rate)它决定了我们沿着能让代价函数下降程度最大的方向向下迈出的步子有多大,在批量梯度下降中,我们每一次都同时让所有的参数减去学习速率乘以代价函数的导数

学习率过小

如果\alpha太小了,即我的学习速率太小,结果就是只能这样像小宝宝一样一点点地挪动,去努力接近最低点,这样就需要很多步才能到达最低点。所以,如果\alpha太小的话可能会很慢,因为它会一点点挪动,它会需要很多步才能到达全局最低点。

学习率过大

如果\alpha太大,那么梯度下降法可能会越过最低点,甚至可能无法收敛,下一次迭代又移动了一大步,越过一次,又越过一次,一次次越过最低点,直到你发现实际上离最低点越来越远。所以,如果\alpha太大,它会导致无法收敛,甚至发散

9.梯度下降的线性回归

线性回归模型 梯度下降算法
h_\theta(x)= \theta_0 + \theta_1x\theta_j := \theta_j - \alpha\frac{\vartheta}{\vartheta\theta_j}J(\theta_0,\theta_1)(for j = 0 and j = 1)

image

对损失函数/代价函数运用梯度下降方法,求导:

6.png
6.png

Tips:
j = 0时即对求导,
j = 1时即对求导

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