吴恩达深度学习课程笔记——逻辑回归算法


神经网络的计算中通常会有前向传播和反向传播的步骤,这门课从逻辑回归算法( logistic regression)来讲解这些概念。

二分类问题(Binary Classification)

逻辑回归是一个用于二分类(binary classification)的算法:假如你有一张图片作为输入,比如猫,如果识别这张图片为猫,则输出标签1作为结果;如果识别出不是猫,那么输出标签0作为结果。

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 ) , y ( i ) ) (x^{(i)},y^{(i)}) (x(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表示样本数目,Python表示为X.shape= ( n x , m ) (n_x,m) (nx,m)
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×mPython表示为Y.shape= ( 1 , m ) (1,m) (1,m)

假设函数(Hypothesis Function)

对于二分类问题来讲,给定一个输入特征向量 X X X,它可能对应一张图片,你想识别这张图片识别看它是否是一只猫或者不是一只猫的图片,算法需要输出预测 y ^ \hat{y} y^,也就是对实际值 y y y 的估计,范围是0~1。

w w w来表示逻辑回归的参数,也是一个 n x n_x nx维向量(因为 w w w实际上是特征权重,维度与特征向量相同),参数里面还有 b b b,这是一个实数(表示偏差),逻辑回归训练的目的就是通过找到合适的 w w w b b b使得 y ^ = y \hat{y}=y y^=y的概率更接近1。

sigmoid函数可以把线性函数转换为非线性函数, σ ( z ) = 1 1 + e − z \sigma \left( z \right)=\frac{1}{1+{{e}^{-z}}} σ(z)=1+ez1
逻辑回归的输出函数可以用下列公式 y ^ = σ ( w T x + b ) \hat{y}=\sigma \left( {{w}^{T}}x+b\right) y^=σ(wTx+b)表示。

损失函数和代价函数(Loss Function and Cost Function)

损失函数又叫做误差函数,用来衡量算法的运行情况,Loss function: L ( y ^ , y ) L\left( \hat{y},y \right) L(y^,y),在逻辑回归中用到的损失函数是: L ( y ^ , y ) = − y log ⁡ ( y ^ ) − ( 1 − y ) log ⁡ ( 1 − y ^ ) L\left( \hat{y},y \right)=-y\log(\hat{y})-(1-y)\log (1-\hat{y}) L(y^,y)=ylog(y^)(1y)log(1y^)

y = 1 y=1 y=1时损失函数 L = − log ⁡ ( y ^ ) L=-\log (\hat{y}) L=log(y^),如果想要损失函数 L L L尽可能得小,那么 y ^ \hat{y} y^就要尽可能大,因为sigmoid函数取值 [ 0 , 1 ] [0,1] [0,1],所以 y ^ \hat{y} y^会无限接近于1。
y = 0 y=0 y=0时损失函数 L = − log ⁡ ( 1 − y ^ ) L=-\log (1-\hat{y}) L=log(1y^),如果想要损失函数 L L L尽可能得小,那么 y ^ \hat{y} y^就要尽可能小,因为sigmoid函数取值 [ 0 , 1 ] [0,1] [0,1],所以 y ^ \hat{y} y^会无限接近于0。

损失函数是在单个训练样本中定义的,为了衡量算法在全部训练样本上的表现如何,需要定义算法的代价函数
J ( w , b ) = 1 m ∑ i = 1 m L ( y ^ ( i ) , y ( i ) ) = 1 m ∑ i = 1 m ( − y ( i ) log ⁡ y ^ ( i ) − ( 1 − y ( i ) ) log ⁡ ( 1 − y ^ ( i ) ) ) J\left( w,b \right)=\frac{1}{m}\sum\limits_{i=1}^{m}{L\left( {{{\hat{y}}}^{(i)}},{{y}^{(i)}} \right)}=\frac{1}{m}\sum\limits_{i=1}^{m}{\left( -{{y}^{(i)}}\log {{{\hat{y}}}^{(i)}}-(1-{{y}^{(i)}})\log (1-{{{\hat{y}}}^{(i)}}) \right)} J(w,b)=m1i=1mL(y^(i),y(i))=m1i=1m(y(i)logy^(i)(1y(i))log(1y^(i)))

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值