吴恩达mooc神经网络与深度学习

在图像领域,我们经常应用的是卷积神经网络(convolutional neural network),常缩写为CNN。

对于音频等序列数据(sequence data),我们经常应用循环神经网络(recurrent  neural network),常缩写为RNN。


常见记号:

(x,y)表示样本,其中,nx表示x的维度。

表示第i个样本,也可用矩阵表示所有样本

表示预测值,要学习的参数为。若使用,则预测值不在[0, 1]之间,可能为很大的正数或负数,故会使用Logistic回归使预测值在[0, 1]。


一、Logistic Regression(an algorithm for binary classification)

1、Logistic function:  


2、Logistic Regression cost function

(1) Loss (error) function

在logistic回归中,如果使用,学习参数时会把优化问题变成非凸(non-convex),最后会得到很多个局部最优解(local optimum),使梯度下降法失效,所以通常不使用。

使用(适用于单个训练样本)。


(2)cost function

(基于参数总成本,衡量参数w和b的效果)


3、gradient descent algorithm

参数学习公式:

对于单个样本有:

将各个样本的一次结果累加取平均,则得到了整个样本集上的一次结果。


4、vectorization

向量化(能实现并行化计算)代替for循环能大大加快计算速度,尽量不用for循环,可调用python的numpy

# -- coding: utf-8 --
import numpy as np
import time

a = np.random.rand(1000000)     # 1000000维的数组
b = np.random.rand(1000000)

tic = time.time()
c = np.dot(a, b)
toc = time.time()
print(c)
print("Vectorized version:"+str(1000*(toc-tic))+"ms")

c = 0
tic = time.time()
for i in range(1000000):
    c += a[i]*b[i]
toc = time.time()

print(c)
print("For loop:"+str(1000*(toc-tic))+"ms")


Output:

二、neural network

1、selection of activation functions

(1)sigmoid function

使输出在[0, 1]之间


(2)tanh函数

,函数的均值为0,各项都优于sigmoid函数


(3)ReLU (修正线性单元rectified linear unit)

在输入为正的时候斜率一定,不会产生上面两种在两端时梯度变化很慢,学习速度很慢的情况。很常用。



2、random initialization

不能将w初始化为全0,可以使用0.01*np.random.randn( )产生符合高斯分布的初始值。


3、forward propagation and backward propagation

即由前面一层的输出推得后一层的输出,由后一层的变化得到前一层的变化用以调整参数。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值