以下为在Coursera上吴恩达先生的DeepLearning.ai课程项目中,第一部门《神经网络和深度学习》第二周课程部门要害点的条记。

条记并不包罗所有小视频课程的纪录,如需学习条记中舍弃的内容请至 Coursera 或者 网易云课堂。同时在阅读以下条记之前,强烈建议先学习吴恩达先生的视频课程。

1

二分类问题

目的数据的形状:

2

logistic Regression

注重点:函数的一阶导数可以用其自身示意,

3

logistic回归 损失函数

Loss function

一样平常履历来说,使用平方错误(squared error)来权衡Loss Function:

然则,对于logistic regression 来说,一样平常不适用平方错误来作为Loss Function,这是由于上面的平方错误损失函数一样平常是非凸函数(non-convex),其在使用低度下降算法的时刻,容易获得局部最优解,而不是全局最优解。因此要选择凸函数。
逻辑回归的Loss Function:

Cost function

所有训练数据集的Loss function总和的平均值即为训练集的价值函数(Cost function)。

  • Cost function是待求系数w和b的函数;
  • 我们的目的就是迭代盘算出最佳的w和b的值,最小化Cost function,让其尽可能地接近于0。

4

梯度下降

5

逻辑回归中的梯度下降法

对单个样本而言,逻辑回归Loss function表达式:


6

m个样本的梯度下降

7

向量化(Vectorization)

在深度学习的算法中,我们通常拥有大量的数据,在程序的编写过程中,应该尽最大可能的少使用loop循环语句,行使python可以实现矩阵运算,进而来提高程序的运行速率,制止for循环的使用。

,

以太坊高度数据

www.326681.com采用以太坊区块链高度哈希值作为统计数据,联博以太坊统计数据开源、公平、无任何作弊可能性。联博统计免费提供API接口,支持多语言接入。

,

逻辑回归向量化

python代码:

db = 1/m*np.sum(dZ)

单次迭代梯度下降算法流程

Z = np.dot(w.T,X) + b
A = sigmoid(Z)
dZ = A-Ydw = 1/m*np.dot(X,dZ.T)
db = 1/m*np.sum(dZ)
w = w - alpha*dwb = b - alpha*db

8

python的notation

虽然在Python有广播的机制,然则在Python程序中,为了保证矩阵运算的准确性,可以使用reshape()函数来对矩阵设定所需要举行盘算的维度,这是个好的习惯;

若是用下列语句来界说一个向量,则这条语句天生的a的维度为(5,),既不是行向量也不是列向量,称为秩(rank)为1的array,若是对a举行转置,则会获得a自己,这在盘算中会给我们带来一些问题。

a = np.random.randn(5)

若是需要界说(5,1)或者(1,5)向量,要使用下面尺度的语句:

a = np.random.randn(5,1)
b = np.random.randn(1,5)

可以使用assert语句对向量或数组的维度举行判断。assert会对内嵌语句举行判断,即判断a的维度是不是(5,1),若是不是,则程序在此处住手。使用assert语句也是一种很好的习惯,能够辅助我们实时检查、发现语句是否准确。

assert(a.shape == (5,1))

可以使用reshape函数对数组设定所需的维度

a.reshape((5,1))

9

logistic regression价值函数的注释

Cost function的由来



专栏:https://zhuanlan.zhihu.com/p/29688927

推荐阅读:

精选干货|近半年干货目录汇总
干货|台湾大学林轩田机械学习基石课程学习条记5 -- Training versus Testing
干货|MIT线性代数课程精致条记[第一课]

           迎接关注民众号学习交流~          


迎接加入交流群交流学习