如何理解并实现一个简单的人脸识别算法(中):机器学习模型

在上次的教程中,我介绍了一些理解需要基本的数学知识。其实这些基础知识是基本不够的,我建议大家在阅读的时候,放弃知识细节的把握,重点在于思想精髓的领悟。当然,不是我的思想,是强大的数学思想。

这次教程里,我继续介绍“最小二乘回归”这个很简单但是很实用的机器学习模型。

我们先忘掉模型,来看看我们现实中经常出现的问题:假设你看中了一个新开盘小区的房子,可是你不知道房子的真实价格是多少,对于开发商的开盘价,你也是非常怀疑的,那你该怎么决定你所购买的房子的单价呢?

我们需要了解这个新小区周边的房价和配套情况,假设周边有上百个小区。每个小区的二手房均价都可以在网上查到。经过研究,我们发现,小区的均价和离某个神秘的工厂的距离存在一定的线性关系,关系大概如下:

大家会发现,离工厂越远,小区的均价越高,反之越低。当然,工厂周围的价格应该是大于0的,这个图表示的涵义符合基本的事实。

那么我们该如何给自己设定这个新小区的价格呢?

我们可以这么做,如上图所示,我们把所有小区的均价按照距离工厂远近画出一个表,然后我们可以根据我们将要学会的“最小二乘回归模型”来拟合出一条直线。这条直线反应的是去除掉一些不稳定因素(比如房子外表颜色)之后的真实价位。

那么,如果我们已知新小区距离工厂两千米,那么我们在横轴(距离轴)上找到两千米的位置,往上画一条直线,然后在与直线交叉的该点画一条水平的线,水平线与纵轴(价格轴)的交叉点,就是新小区的合理价格,即2万元一平。

当然,我们这个模型是在简化了很多复杂情况之后得到的模型,现实的情况远比这个复杂。

那么现在问题来了,怎么得到上图中的这条直线?

答案就是“最小二乘回归”!

怎么来的?

假设现在有n个数据点,分别是{(x1,y1), (x2,y2), ..., (xn,yn)},每个数据点中的x是上图中横轴中的距离数值,y是纵轴中的价格数值。我们寻求的是x和y之间的一种对应关系。

为简单起见,我们假设这种对应关系是线性的,即y=wx+b,其中w是权重系数,b是偏差,也就是x=0的时候y的值。

我们现在需要确定w和b的值,b的值相对好确定一些,只需要调查当距离x=0的时候,价格y是多少就可以了,因为这个时候b=y,所以我们就可以得到b的值。

那么如何确定w的值呢?

我们需要确定一个目标函数,假设我们只有一组(x,y),情况就会简单的多。

目标函数可以设为(y-w*x)^2,这表示的是(y-w*x)的平方。这个模型就是最小二乘了。

需要注意的是,最小二乘不是最小二乘回归哦!最小二乘模型一般容易过拟合,就是确定的w不能反映真实数据的分布情况,一般我们需要对w有一个约束。

这个约束需要与(y-w*x)^2绑在一起,从而得到更反应数据真实情况的w。

这里我们可以用(y-w*x)^2+a*w^2,这里a是一个系数,这个模型就是一个变量是一维的最小二乘回归模型。

正式的写法是:min{w} (y-w*x)^2+a*w^2.

min是求最小值的意思,min{w}的意思是这个最小值是通过变化w的值来得到的。这个a可以用统计学里的交叉验证方式得到,涉及到更复杂的原理,所以我们不讨论。大家只需要知道a可以得到就可以了。

那么如何求解上面最小二乘回归模型的最小值呢?

方法在我们上一期的教程里,就是用函数求导,我们对上面的函数(y-w*x)^2+a*w^2对w求导,然后让导函数等于0,就可以得到w=x*y/(x^2+a)。是不是很简单?这就是我们需要的w的值了。

如果我们不加w的正则项,也就是a=0,会出现什么情况?如果x=0,那么w就无法得到具体的数值,于是也就无法预测y。这样的模型就太脆弱了!为了让模型更合理,我们对w有约束,加上了w的约束项。

那么当有多组(x,y)的时候,即有n个数据点,分别是{(x1,y1), (x2,y2), ..., (xn,yn)}的时候,解决办法会稍微复杂一点。

此时的最小化目标函数是:

min{w} {(y1-w*x1)^2+(y2-w*x2)^2+...+(yn-w*xn)^2+a*w^2}

同样,对w求导,然后让导函数等于0,我们可以得到

w=(x1*y1+x2*y2+...+xn*yn)/(x1^2+x2^2+...+xn^2+a).

大家不需要记得这些计算的公式,就大概理解这个过程就可以:

我们是先用观察数据,然后用一个最简单的线性函数去拟合房价和距离之间的关系,在确定这个线性函数的参数的时候,我们需要用到“最小二乘回归”模型,这个模型有一个参数a,是为了避免w因x=0而陷入无法求解。

那么得到参数w和b之后呢,我们就可以用y=w*x+b来预测房价了,即在给定距离x的情况下得到单价y的值。

y=w*x+b这个线性函数也叫最小二乘回归线,得到这条线之后,这条线是所有点到某条线竖直距离的平方和最小的线。这一点不用理解,但是很妙。

数学中有很多这种巧妙的东西,比如欧拉公式

那么现在为止,我介绍了一维的最小二乘回归模型,其实这个模型很多都是用在高维的情形当中。比如人脸就是一个高维的物体。在拍摄的人脸照片中,一般最小都是32乘以32维也就是1024维的情形,再小的话可能就很难看清了。

好了,那么这次我们了解了一点最小二乘回归模型在房价预测方面的一点应用,这个应用的重点是要得到线性相关函数y=w*x+b。

下一次,我们直接看看怎么用最小二乘回归模型做人脸预测。大家拭目以待哦。

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

推荐阅读更多精彩内容