机器学习基本概念2

一、认识线性模型的局限性

我们可以通过改变线性模型(y = b + wx)w,b可以得到不同的图形,但是它永远是一条直线,这种局限性我们把它称之为Model Bias,如果我们的实际图形是一条折线或者曲线,那么线性模型就无法表示。这个时候我们就需要一条更加灵活的模型。

二、找一个新的函数。

1. 引入:折线图的表示

图中的红线是由一个常数和多个蓝色函数(在两个转折点之间有与红线对应区间平行的线段,其它地方是平的)相加得到的,我们用 函数 0
来表示这个常数,对于每一段线段,我们各用一个函数与之前的所有函数相加,如图中红线第一段上升,我们用一个函数 1与之前的函数0相加来表示,同理红线第一个转折点之后的下降线段,用函数 2与函数0,函数1相加来表示,以此类推。
在这里插入图片描述
折线图都能用思想这种方式来表示,折线转折点越多,需要的蓝色函数也就越多。当数量趋近于无穷时,近似的可以用来表示曲线,和微积分是一个思想。

那么如何来表示这个蓝色函数呢?

近似表示蓝色函数的方法一

在这里插入图片描述
我们采用一个Sigmoid Function,可以理解成一个S型的函数来近似表示这个蓝色函数(这种折线不平滑的函数称为Hard Sigmoid)。

改变这三个变量时函数变化:
改变w:改变坡度
在这里插入图片描述
改变b:左右移动函数
在这里插入图片描述

改变c:改变函数高度
在这里插入图片描述

用Sigmoid函数表示之后,折线图可以用这样的模型表示:
在这里插入图片描述
蓝色函数的表示方法二
在这里插入图片描述

我们也可以使用一个ReLU函数来近似表示我们的蓝色函数,max函数表示取0和函数b+wx中大的那个表示在图上。用这样两条函数来表示我们的蓝色函数。

我们取更多的features可以得到:
在这里插入图片描述
由于我们的ReLU函数是由两条函数合成的,我们需要Sigmoid函数两倍的参数。
这两种近似表示蓝色函数的函数(Sigmoid max)我们称之为Activation function。
两种之中max函数会好一点

3.Step1.写一个带有未知参数的函数

括号里的内容可以表示为矩阵乘法:
在这里插入图片描述
同理,我们用相同的方式将y表示出来。
在这里插入图片描述
在这里插入图片描述
表示用一个函数c塔,将r转变为a

4.Step2.定义Loss函数

在这里插入图片描述
同上次讲的,给定一组参数的值,然后带入已知的feature值,算出的实际y与label的误差,最后算出L值。

5.Step3.最优化

我们把未知参数全部用c塔来表示。
在这里插入图片描述
在这里插入图片描述
对于取得最小L值的一组c塔我们称为c塔*。
最优化方法也和线性模型类似,我们先随机找一个c塔0,在这个位置L对c塔求微分得到梯度。
然后用c塔0 减去我们之前定义的Learning Rate乘以梯度得到c塔1,以此类推。

还有另一种方法来更新:
我们把所有的c塔,随机分为很多个batch,然后去每个batch中的c塔计算一次梯度,用这个梯度来更新c塔,每个batch算一次,当所有batch都进行了一次之后,我们称之为一个epoch。
在这里插入图片描述
epoch的理解:
在这里插入图片描述

由于每个batch就需要更新一次,所以一个epoch更新的次数等于batch数。

6.神经网络和深度学习

我们可以用同样的方法,再给一组参数得到a’,这样通过迭代的方式来减小我们的L值
在这里插入图片描述
在这里插入图片描述
我们把一个r称之为一个Neuron,很多Neuron组成的网络,这就是我们常说的神经网络(Neural Network)。
相同层次的Neruon我们称之为一个hidden layer
很多的layer就意味着Deep 这也就是我们所谓的深度学习(Deep Learning

在这里插入图片描述
但是层数增多也可能会出现问题,对于这种training data 数值变好,但预测数据数值变差的现象,我们称为Overfitting

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值