深度学习之逻辑回归-假设函数

对于深度学习的基础知识,我学习的是吴恩达教授的视频课,看完之后醍醐灌顶,并将其笔记(为黄海广博士团队整理笔记)自我梳理一番,方便自己的学习。
逻辑回归是一个用于二分类的算法
首先我们从一个问题开始说起,这里有一个二分类问题的例子,假如你有一张图片作为输入,比如这只猫,如果识别这张图片为猫,则输出标签1作为结果;如果识别出不是猫,那么输出标签0作为结果。现在我们可以用字母 y y y来表示输出的结果标签,如下图所示:
在这里插入图片描述
图3-1
我们来看看一张图片在计算机中是如何表示的,为了保存一张图片,需要保存三个矩阵,它们分别对应图片中的蓝、绿、红三种颜色通道,如果你的图片大小为64x64像素,那么你就有三个规模为64x64的矩阵,分别对应图片中红、绿、蓝三种像素的强度值。为了便于表示,这里我画了三个很小的矩阵,注意它们的规模为5x4 而不是64x64,如下图所示:
在这里插入图片描述
图3-2
为了把这些像素值放到一个特征向量中,我们需要把这些像素值提取出来,然后放入一个特征向量。为了把这些像素值转换为特征向量 ,我们需要像下面这样定义一个特征向量 x来表示这张图片,我们把所有的像素都取出来,例如255、134等等,直到取完所有的蓝色像素,接着最后是255、134、…、255、231等等,直到得到一个特征向量,把图片中所有的蓝、绿、红像素值都列出来。如果图片的大小为64x64像素,那么向量 x的总维度,将是64乘以64乘以3,这是三个像素矩阵中像素的总量。在这个例子中结果为 n x n_x nx=12,288。现在我们用 n x n_x nx,来表示输入特征向量的维度,有时候为了简洁,我会直接用小写的n来表示输入特征向量的维度。所以在二分类问题中,我们的目标就是习得一个分类器,它以图片的特征向量作为输入,然后预测输出结果为1还是0,也就是预测图片中是否有猫:
在这里插入图片描述
图3-3
符号定义(今后学习中将经常用到的符号) :
x x x:表示一个 n x n_x nx维数据,为输入数据,维度为 ( n x , 1 ) (n_x,1) (nx,1)
y y y:表示输出结果,取值为 ( 0 , 1 ) (0,1) 0,1
( x ( i ) x^{(i)} x(i), y ( i ) y^{(i)} y(i)):表示第 i i i组数据,可能是训练数据,也可能是测试数据,此处默认为训练数据;
X = [ x ( 1 ) , x ( 2 ) , . . . x ( m ) ] X=[x^{(1)},x^{(2)},...x^{(m)}] X=[x(1),x(2),...x(m)]:表示所有的训练数据集的输入值,放在一个 n x × m n_x×m nx×m的矩阵中,其中表示样本数目,比如将 m m m幅cat图片放入 X X X数据集中为:
X = [ 255 x ( 2 ) . . . x ( m ) 134 x ( 2 ) . . . x ( m ) . . . . . . . . . . . . 255 x ( 2 ) . . . x ( m ) 134 x ( 2 ) . . . x ( m ) . . . . . . . . . . . . 255 x ( 2 ) . . . x ( m ) 231 x ( 2 ) . . . x ( m ) ] X= \left[ \begin{matrix} 255 & x^{(2)} & ... & x^{(m)} \\ 134 & x^{(2)} & ... & x^{(m)} \\ ... & ... & ... & ...\\ 255 & x^{(2)} & ... & x^{(m)} \\ 134 & x^{(2)} & ... & x^{(m)} \\ ... & ... & ... & ...\\ 255 & x^{(2)} & ... & x^{(m)} \\ 231 & x^{(2)} & ... & x^{(m)} \end{matrix} \right] X=255134...255134...255231x(2)x(2)...x(2)x(2)...x(2)x(2)........................x(m)x(m)...x(m)x(m)...x(m)x(m)
图3-4
Y = [ y ( 1 ) , y ( 2 ) , . . . y ( m ) ] Y=[y^{(1)},y^{(2)},...y^{(m)}] Y=[y(1),y(2),...y(m)]:对应表示所有训练数据集的输出值,维度为 1 × m 1×m 1×m,比如cat图的标签结果为: Y = [ 1 , 0...1 ] Y=[1,0...1] Y=[1,0...1]
逻辑回归的Hypothesis Function(假设函数)
对于二元分类问题来讲,给定一个输入特征向量 X X X,它可能对应一张图片,你想识别这张图片识别看它是否是一只猫或者不是一只猫的图片,你想要一个算法能够输出预测,你只能称之为 y ^ \widehat{y} y ,也就是你对实际值 y y y的估计。更正式地来说,你想让 y ^ \widehat{y} y 表示 y y y 等于1的一种可能性或者是机会,前提条件是给定了输入特征 X X X。换句话来说,如果 X X X是我们在上面看到的图片,你想让 y ^ \widehat{y} y 来告诉你这是一只猫的图片的机率有多大。 X X X是一个 n x n_x nx维的向量(相当于有个 n x n_x nx)我们用来 w w w表示逻辑回归的参数,这也是一个 n x n_x nx维向量(因为 w w w实际上是特征权重,维度与特征向量相同),参数里面还有 b b b,这是一个实数(表示偏差)。所以给出输入 x x x以及参数 w w w b b b之后,我们怎样产生输出预测值 y ^ \widehat{y} y ,一件你可以尝试却不可行的事是让 y ^ \widehat{y} y = w T x + b w^Tx+b wTx+b
在这里插入图片描述
图3-5
这时候我们得到的是一个关于输入 x x x的线性函数,但是这对于二元分类问题来讲不是一个非常好的算法,因为你想让 y ^ \widehat{y} y 表示 y y y实际值等于1的机率的话, y ^ \widehat{y} y 应该在0到1之间。这是一个需要解决的问题,因为 w T x + b w^Tx+b wTx+b可能比1要大得多,或者甚至为一个负值。对于你想要的在0和1之间的概率来说它是没有意义的,因此在逻辑回归中,我们的输出应该是 y ^ \widehat{y} y 等于由上面得到的线性函数式子作为自变量的 s i g m o i d sigmoid sigmoid函数中,公式如上图最下面所示,将线性函数转换为非线性函数。那么此时函数变为:
f ( z ) = 1 1 + e − z f(z)=\frac{1}{1+e^{-z}} f(z)=1+ez1
图3-6
其中z= w T x + b w^Tx+b wTx+b,带如公式即为:
f ( x ) = 1 1 + e − ( w T x + b ) f(x)=\frac{1}{1+e^{-(w^Tx+b)}} f(x)=1+e(wTx+b)1
图3-7
现在单拿出图3-6来分析,即关于 z z z s i g m o i d sigmoid sigmoid函数,函数图如下:
在这里插入图片描述
由函数图可以知道, z z z越大, e − z e^{-z} ez越小趋于0, f ( z ) f(z) f(z)趋于1, z z z越小, e − z e^{-z} ez越大趋于无穷, f ( z ) f(z) f(z)趋于0,即 s i g m o i d sigmoid sigmoid函数可以将 y ^ \widehat{y} y 控制在 [ 0 , 1 ] [0,1] [0,1]之间,因此当你实现逻辑回归时,你的工作就是去让机器学习参数 w w w以及 b b b,这样才使得 y ^ \widehat{y} y 成为 y = 1 y=1 y=1对这一情况的概率的一个很好的估计。
此篇解释了深度学习所用到的最基本函数(假设函数),以及为什么要用到激活函数。
合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值