二分类问题-1

笔记来自于网易云课堂

二分类问题

本文用到的符号约定

假如我们想识别一幅图片是不是猫。也就是说,训练一个分类器,输入一幅图片,用特征向量 x x 表示,输出是不是猫,用y=0或1表示。
这里写图片描述
一幅图片在电脑中以R、G、B三个矩阵来表示,每个矩阵维度和图片维度一致。如果图片分辨率为64*64,那么每个矩阵都是64*64。

这里写图片描述
那么创建特征向量 x x 如下
这里写图片描述
值得说明的是,好的符号惯例能够将不同训练样本的数据联系起来。
对于给定的样本xyxR,y{0,1}, 如果有n个训练集,我们记为 xRn×m x ∈ R n × m ,那么 x.shape=(m,n) x . s h a p e = ( m , n ) , y y 也是如此。
这里写图片描述

逻辑回归(logistic regression)

给定特征向量,算法就会评估图片里是猫的可能性。

首先给出参数说明:
这里写图片描述

这里用y^=P(x=1|x)来表示预测值,我们可以用线性回归来表示预测值,如 y^=(wTx+b) y ^ = ( w T x + b ) ,但是线性并不靠谱,因为我们希望 y^(01) y ^ ∈ ( 0 , 1 ) ,故我们采用sigmoid函数来预测输出 σ(z)=11+ez σ ( z ) = 1 1 + e − z , 如果z是一个很小的数,那么 σ(z) σ ( z ) 接近于0,如果z是一个很大的数,那 σ(z) σ ( z ) 接近于1,如果z靠近0,那么 σ(z) σ ( z ) 接近于0.5.

这里写图片描述

注意
你可能会见过b当做特殊的w的情况,此时 x=1 x = 1 ,事实上,当你实现神经网络的时候,把b和w当做独立的参数时可能更好,所以这种做法不会被使用。

损失函数(loss function)

给定训练样本 (x(i),y(i)) ( x ( i ) , y ( i ) ) , 我们希望 y^(i)=y(i) y ^ ( i ) = y ( i ) ,这里 y^(i)=σ(wTxx(i)+b) y ^ ( i ) = σ ( w T x x ( i ) + b )

为了训练w和b,我们需要定义一个损失函数或者误差函数(error function),它可以衡量算法的运行情况。实际上,我们定义损失函数为 L(y^,y)=(ylogy^+(1y)log(1y^)) L ( y ^ , y ) = − ( y log ⁡ y ^ + ( 1 − y ) log ⁡ ( 1 − y ^ ) ) , 如果y=1, L(y^,y)=logy^ L ( y ^ , y ) = − log ⁡ y ^ ,那么 y^ y ^ 最够大时,损失函数足够小,如果y = 0, L(y^,y)=log(1y^) L ( y ^ , y ) = log ⁡ ( 1 − y ^ ) ,那么 y^ y ^ 最够小时,损失函数足够小。

我们可以定义损失函数为 L(y^,y)=12(y^y)2 L ( y ^ , y ) = 1 2 ( y ^ − y ) 2 , 结果表明你可以这么做,但是在logistic 回归中大家都不这么做,因为当学习这些参数的时候,你会发现之后讨论的优化问题会变成非凸的,最后会得到很多个局部最优解,梯度下降法可能找不到全局最优解。

损失函数是在单个样本中定义的,它衡量了在单个训练样本中的表现。为了衡量整个样本集中的表现,我们定义成本函数(cost function),它是基于参数的总成本。 J(w,b)=1mmi=1L(y^(i),y(i)) J ( w , b ) = 1 m ∑ i = 1 m L ( y ^ ( i ) , y ( i ) ) 。所以,在训练的时候,我们希望找到w和b使得成本函数足够小。

梯度下降法(gradient decent)

如何训练w和b呢?这里我们采用梯度下降法。显然,为了找到最合适的w和b,我们希望成本函数最小。如下图所示,实际上w可以是高维的,只是为了方便使用了实数。图中的最低点就是我们想要寻找的w和b。
这里写图片描述

可以看到,成本函数J是一个凸函数,像大碗一样,而这种性质是我们最看重的。当给定一个初始点,梯度下降法所做的就是找到最陡的下降方向,走到下一个位置。这就完成了一次迭代,经过多次迭代,很有可能会接近或者达到全局最优解。
这里写图片描述

为了便于编码,我们使用dw来表示 dj(w)dw d j ( w ) d w

repeat{
w=wαdw w = w − α d w , α α 表示学习率,用来控制步长
}
直到收敛

从下图可以看到,不论dw>0或者dw<0,梯度下降法基本上都能达到或者接近最优解。
这里写图片描述

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值