深度学习基础

  • 深度学习与机器学习的区别?

  • 深度学习属于机器学习

  • 深度学习的本质就是线性回归

  • 机器学习在特征提取方面是根据程序员的经验来提取的,非常考验程序员对某一行业的了解程度

  • 深度学习在特征提取方面是通过大量数据训练得到的,不需要人工设计

  • 神经网络的组织构成?

  • 神经网络由输入层、隐层和输出层构成

  • 深度学习效果特点?

  • 深度学习对于大型数据集的效果更好,并且运算精度更高

  • 逻辑回归的算法计算输出、损失函数

  • 逻辑回归是一个二分类算法,根据给定的x能够输出一个该样本属于1的对应类别的概率

  • 输出预测结果

  • \hat{y} = \sigma(w^T+b) = \sigma(w_1 x_1+ w_2x_2+...+w_nx_n +b) = \sigma(\theta^Tx +b)y^=σ(wT+b)=σ(w1x1+w2x2+...+wnxn+b)=σ(θTx+b)\hat{y} = \sigma(w^T+b) = \sigma(w_1 x_1+ w_2x_2+...+w_nx_n +b) = \sigma(\theta^Tx +b)y^=σ(wT+b)=σ(w1x1+w2x2+...+wnxn+b)=σ(θTx+b)

  • Sigmoid 函数: s = \sigma(w^Tx+b) = \sigma(z) = \frac{1}{1+e^{-z}}Sigmoid函数:s=σ(wTx+b)=σ(z)=11+e−zSigmoid 函数: s = \sigma(w^Tx+b) = \sigma(z) = \frac{1}{1+e^{-z}}Sigmoid函数:s=σ(wTx+b)=σ(z)=1+e−z1

  • 损失函数

  • L(y,\hat{y}) = - y log\hat{y} - (1-y)log(1 - \hat{y})L(y,y^)=−ylogy^−(1−y)log(1−y^)L(y,\hat{y}) = - y log\hat{y} - (1-y)log(1 - \hat{y})L(y,y^)=−ylogy^−(1−y)log(1−y^)

  • 如果y是1,损失为-ylog\hat{y}−ylogy^-ylog\hat{y}−ylogy^,想要函数的损失最小,那么\hat{y}y^\hat{y}y^必须等于1或者趋近于1

  • 如果y是0,损失为-log(1-\hat{y})−log(1−y^)-log(1-\hat{y})−log(1−y^),想要函数的损失最小,那么\hat{y}y^\hat{y}y^必须等于0或者趋近于0

  • 代价函数

  • 损失函数是单个样本的表现,代价函数是整个数据集的表现

  • J(w,b) = \frac{1}{m}\sum_{i=1}^mL(\hat{y}^{(i)},y^{(i)})J(w,b)=1m∑i=1mL(y^(i),y(i))J(w,b) = \frac{1}{m}\sum_{i=1}^mL(\hat{y}^{(i)},y^{(i)})J(w,b)=m1∑i=1mL(y^(i),y(i))

  • 知道导数的计算图

  • 导数的链式求导法则

  • 知道逻辑回归的梯度下降算法

  • w_k = w_{k-1} - \alpha*\frac{dJ(w_1, b)}{dw_1}wk=wk−1−α∗dJ(w1,b)dw1w_k = w_{k-1} - \alpha*\frac{dJ(w_1, b)}{dw_1}wk=wk−1−α∗dw1dJ(w1,b)

  • b_k = b_{k-1} - \alpha\frac{dJ(w, b)}{db}bk=bk−1−αdJ(w,b)dbb_k = b_{k-1} - \alpha\frac{dJ(w, b)}{db}bk=bk−1−αdbdJ(w,b)

  • 知道样本的向量计算

  • 向量计算就是采用矩阵运算的方法,否则每次计算都要写for循环,算法的时间复杂度太高

  • 知道浅层神经网络的前向计算过程

  • 对每层神经元都计算线性回归,然后在使用激活函数得到输出,再传到下一层神经元

  • 知道选择激活函数的原因

  • tanh

  • 双曲正切函数

  • y = \frac{e^x - e^{-x}}{e^x + e^{-x}}y=ex−e−xex+e−xy = \frac{e^x - e^{-x}}{e^x + e^{-x}}y=ex+e−xex−e−x

  • 它的取值范围是(-1,1),比Sigmoid取值范围更大,效果也比Sigmoid更好,常用与自然语言处理

  • 和Sigmoid有同样的缺点:当X过大或者过小,函数的梯度趋近于0,梯度算法过慢

  • Relu

  • 线性修正单元

  • y = max(z,0)

  • 当z大于0时,梯度始终为1,收敛速度远大于Sigmoid和tanh,虽然z小于0时,梯度为0,但是影响不大

  • Sigmoid

  • y = \frac{1}{1+e^{-x}}y=11+e−xy = \frac{1}{1+e^{-x}}y=1+e−x1

  • 说明浅层神经网络的反向传播推导过程

  • 反向传播就是根据前向传播得到的结果,求导更新参数

  • 参数初始化

  • 如果初始时将两个隐藏神经元的参数设置为同样的大小,那么两个隐藏神经元对输出单元的影响是相同的,也就没有了效果,但是如果设置为0,也是不可以的

  • 所以根据经验所得,一般设置w和b为:

  • W = np.random.randn(2,2)* 0.01

  • b = np.zeros((2,1))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值