Deep Learning Notes - 1.2深度学习基础

本文介绍深度学习基础知识,包括二进制分类任务中的图片数据表示方法,Logistic回归模型原理及其损失函数、成本函数定义。同时,还介绍了梯度下降算法实现参数更新的方法,并给出高度向量化Python伪代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Deep Learning Notes - 1.2深度学习基础

二进制分类 Binary Classification

例如:判断图片中是否含有猫

图片为rbg模式,大小为width×heightwidth×height,使用矩阵(列向量)存储如下:

x=Mat_R1,1Mat_R1,2...Mat_G1,1Mat_G1,2...Mat_B1,1Mat_B1,2...nx×1x=[Mat_R1,1Mat_R1,2...Mat_G1,1Mat_G1,2...Mat_B1,1Mat_B1,2...]nx×1

其中nx=3×width×heightnx=3×width×height,并将xx作为输入。

输出:

y={0  1  

任意一个实例可以表示为(x,y)(x,y)xRnxx∈Rnxy{0,1}y∈{0,1},矩阵化之后为:

这里写图片描述

Logistic 回归

给定xx的前提下,令y^=P(y=1|x)y^(0,1)

输出:y^=σ(wTx+b)y^=σ(wTx+b)xRnxx∈RnxwRnxw∈RnxbRb∈R

其中σ(z)=11+ezσ(z)=11+e−z,图像如下:

这里写图片描述

Loss 函数:

L(y^,y)=[ylogy^+(1y)log(1y^)]L(y^,y)=−[ylog⁡y^+(1−y)log⁡(1−y^)]

Cost 函数:

J(w,b)=1mi=1mL(y^(i),y(i))=1mi=1m[y(i)logy^(i)+(1y(i))log(1y^(i))]J(w,b)=1m∑i=1mL(y^(i),y(i))=−1m∑i=1m[y(i)log⁡y^(i)+(1−y(i))log⁡(1−y^(i))]

其中的loglog均以ee为底。

梯度下降 Gradient Descent

计算(w,b)来使得J(w,b)J(w,b)数值最小,以下是一次梯度下降公式:

w=wαJ(w,b)ww=w−α∂J(w,b)∂w

b=bαJ(w,b)bb=b−α∂J(w,b)∂b

其中,αα为学习率。

此后,不再详细区分dd符号。

计算图

例如:

J(a,b,c)=3(a+bc)J(a,b,c)=3(a+bc)

正向计算数值和反向计算导数的过程如下:

这里写图片描述

Logistic回归的梯度下降

z=wTx+bz=wTx+b

y^=a=σ(z)y^=a=σ(z)

L(a,y)=[yloga+(1y)log(1a)]L(a,y)=−[ylog⁡a+(1−y)log⁡(1−a)]

这里写图片描述

用于mm个样例,并高度向量化:

这里写图片描述

Python伪代码为:

# 高度向量化的目的是
# 减少for循环
# 以加快代码的运行速度
import numpy as np

for i in range(1000):   # 梯度下降1000次
    # 计算 a (y hat)
    Z = np.dot(W.T, X) + b
    A = sigmod(Z)


    dz = A - Y
    dw = 1/m * np.dot(X, dz.T)
    db = 1/m * np.sum(dz)

    w -= alpha * dw
    b -= alpha * db

Python Broadcasting

[123]+10=[123]+[101010]

[142536]+[102030]=[142536]+[101020203030][123456]+[102030]=[123456]+[102030102030]

[142536]+[1020]=[142536]+101010202020[123456]+[1020]=[123456]+[102010201020]

Some Coding Techniques

  • 记得创建行向量np.random.randn( (5,1) )

    列向量np.random.randn( (1,5) )

    而不要使用np.random.randn( 5 )

  • 多使用reshape()函数没有坏处

  • 尽可能多的使用assert( a.shape()==(5,1) )来保证程序的健壮性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值