神经网络基础之线性运算模型

1.线性运算模型

当我们说模型时,我们实际上在谈论根据输入x预测输出y的算法。比如,x可以是一个人的工作年限,y可以是他的月薪,我们可以用某种算法来根据一个人的工作年限来预测他的收入。比如y:

y = f(x) = w∗x+b

函数f(x)叫做假设,而w、b是它的参数。我们假设参数w=1000,参数b=200,如果某人的工作年限是5年的话,我们的模型会预测他的月薪为:

y=f(x)=1000∗5+500=5500(元)

公司如果按照这个模型决定薪酬,我目前工作9年,那么我的工资应该为9500元,这个根本难以覆盖我在北京的生活成本。所以很明显这个模型是一个人工智障。

作为一个薪酬模型,我们考虑的因素太少了,仅仅包含了工作年限一个特征。正常影响薪酬的因素有很多,比如所处的城市、行业、公司、职务等等,如果把这些因素都考虑进去,模型就会更加靠谱。我们把工作年限、城市、行业、公司、职务这些信息,称之为特征。对于一个在北京IT行业工作了10年,目前在互联网公司做产品总监的一位员工,我们可以用这样的一个特征向量来表示:

x=(北京,IT,10,互联网,总监)

输入x变成了一个具备5个特征的向量,相对应的,仅仅一个参数w就不够用了,我们应该使用5个参数,每个特征对应一个(因为每个特征对薪酬的影响程度不同,所以权重参数不同)。这样,我们的模型就变成:

y=f(x)=w_1∗x_1+w_2∗x_2+w_3∗x_3+w_4∗x_4+w_5*x_5+b

为了书写和计算方便,偏移量b可以按照如下表示:

b=w_0∗x_0其中x_0=1

这样上面的式子就可以写成

y=h(x)=w_1∗x_1+w_2∗x_2+w_3∗x_3+w_4∗x_4+w_5*x_5+w_0∗x_0

设x向量为:x=(x_0,x_1,x_2,x_3,x_4,x_5) w向量为:w=(w_0,w_1,w_2,w_3,w_4,w_5);

则上式写成向量的形式为(T:矩阵转置):

y=f(x)=w^Tx

以上模型就叫做线性模型,因为输出y就是输入特征向量x的线性组合

2.目标函数

在监督学习下,对于一个样本,我们知道它的特征 x ,以及标记 y 。同时,我们还可以根据模型f(x)计算得到输出 \overline{y} 。注意这里面我们用y表示训练样本里面的标记,也就是实际值;用带上划线的 \overline{y} 表示模型计算的出来的预测值。我们当然希望模型计算出来的 \overline{y}和y越接近越好。数学上有很多方法来表示两者的接近程度,比如我们可以用两者的的差的平方的1/2来表示它们的接近程度(乘1/2,是为了后面计算方便)。

E = \frac{1}{2}(y-\overline{y})^2

我们把E叫做单个样本误差

训练数据中会有很多样本,比如N个,我们可以用训练数据中所有样本的误差的,来表示模型的误差E,也就是

e = e_1+e_2+e_3+...+e_n

上式的e_1表示第一个样本的误差,e_2表示第二个样本的误差......。

$$ E = e_1+e_2+e_3+...+e_n \

=\sum_{i=1}^{n} e_i \

= \frac{1}{2} \sum_{i=1}^{n} (y_i-\overline{y_i})^2 $$

其中

y_i为样本中的目标值 \\ \overline{y_i} =f(x_i) = w^Tx_i

x_i表示第i个训练样本的特征

y_i表示第个i样本的标记,我们也可以用元组(x_i,y_i)表示第i个训练样本

\overline{y_i}则是模型对第i个样本的预测值,通过算法计算得出。

对于模型来说,误差最小越好,也就是E的值越小越好。对于特定的训练数据集来说,(x_i,y_i)的值都是已知的,所以E其实是参数w的函数。

$$

E(w) = \frac{1}{2} \sum_{i=1}^{n} (y_i-\overline{y_i})^2 \ = \frac{1}{2} \sum_{i=1}^{n} (y_i-wTx_i)2

$$

由此可见,模型的训练,实际上就是求取到合适的w,使E取得最小值。这在数学上称作优化问题,而E(w)就是我们优化的目标,称之为目标函数

3.梯度下降优化算法

求函数的极值或者最小值,是一个很简单的数学概念。函数y=f(x)的极值点,就是它的导数f′(x)=0的那个点。因此我们可以通过解方程f′(x)=0,求得函数的极值点(x0,y0)。

计算机不会解方程。但是它可以凭借强大的计算能力,一步一步的去把函数的极值点『试』出来。如下图所示:

image.png

(https://cuijiahua.com)

首先,我们随便选择一个点开始,比如上图的x0点。接下来,每次迭代修改x的为x1,x2,x3,...,经过数次迭代后最终达到函数最小值点。

你可能要问了,为啥每次修改的值,都能往函数最小值那个方向前进呢?这里的奥秘在于,我们每次都是向函数y=f(x)的梯度相反方向来修改x。什么是梯度呢?翻开大学高数课的课本,我们会发现梯度是一个向量,它指向函数值上升最快的方向。显然,梯度的反方向当然就是函数值下降最快的方向了。我们每次沿着梯度相反方向去修改x的值,当然就能走到函数的最小值附近。之所以是最小值附近而不是最小值那个点,是因为我们每次移动的步长不会那么恰到好处,有可能最后一次迭代走远了越过了最小值那个点。步长的选择是门手艺,如果选择小了,那么就会迭代很多轮才能走到最小值附近;如果选择大了,那可能就会越过最小值很远,收敛不到一个好的点上。

按照上面的讨论,我们就可以写出梯度下降算法的公式

x_{new} = x_{old} −η∇f(x)

其中,∇是梯度算子,∇f(x)就是指f(x)的梯度。η是步长,也称作学习速率

梯度下降算法可以写成

w_{new}=w_{old}−η∇E(w)

如果要求目标函数的最大值,那么我们就应该用梯度上升算法,它的参数修改规则是

w_{new}=w_{old}+η∇E(w)

有了上面这个式子,我们就可以根据它来写出训练线性单元的代码了。不断优化到最优值附近,把W权重存起来,就是一个训练好的模型。有新的x数据,通过w就能预测比较准的y值。

4.小结

事实上,一个人工智能算法其实只有两部分

  • 模型从输入特征x预测输入y的那个函数f(x)

  • 目标函数 目标函数取最小(最大)值时所对应的参数值,就是模型的参数的最优值。很多时候我们只能获得目标函数的局部最小(最大)值,因此也只能得到模型参数的局部最优值

因此,如果你想最简洁的介绍一个算法,列出这两个函数就行了。

接下来,你会用优化算法去求取目标函数的最小(最大)值。[随机]梯度{下降|上升}算法就是一个优化算法。针对同一个目标函数,不同的优化算法会推导出不同的训练规则。我们后面还会讲其它的优化算法。

其实在机器学习中,算法往往并不是关键,真正的关键之处在于选取特征。选取特征需要我们人类对问题的深刻理解,经验、以及思考。而神经网络算法的一个优势,就在于它能够自动学习到应该提取什么特征,从而使算法不再那么依赖人类,而这也是神经网络之所以吸引人的一个方面。

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

推荐阅读更多精彩内容