神经网络 neural network
是一种模仿神经网络行为特征,进行分布式并行信息处理的算法数学模型。
二分分类 binary classification
以一个二分分类问题为例,假如有若干图片,需要判断图片中是否是一只猫,这时就需要将图片特征作为一个输入x,通过计算过程,返回0或1的结果y,结果值1表示是,0表示否。
算法输入
图片在计算机中使用红绿蓝三个矩阵来表示,这里需要将这三个矩阵分别展开,拼接为一个特征向量,作为二分分类算法的输入。
如果图片尺寸为64*64,则转换后的特征向量x
长度
nx
为64 * 64 * 3 = 12288,特征向量普遍用列向量表示。
符号约定
(x,y)
表示一个样本,其中x是n维特征向量,y为结果值0或1- (x(i),y(i)) 表示第i个样本
m/m_train
表示训练集的长度m_test
表示测试集的长度X
表示训练集或测试集的所有特征,X.shape=( nx , m)Y
表示训练集或测试集的所有标签(结果),Y.shape=(1, m)
logistic回归
对于给定一个特征向量x,我们希望获取标签y的概率描述
y^
。
设有系数向量w和实数b,则传统线性回归的表达式为
y^=wTx+b
但这里我们需要的概率要控制在[0,1]区间内,则应使用logistic回归表达式
y^=σ(wTx+b)
其中sigmoid函数表达式如下
σ(z)=11+e−z
该函数特征为
limz→−∞σ(z)=0
limz→+∞σ(z)=1
σ(0)=0.5
回归损失函数 lost function
我们使用回归损失函数L来衡量单个样本的预测输出值
y^
和y的实际值的差距
传统的回归损失函数表达式为
L(y^,y)=12(y^−y)2
这里传统损失函数存在多个局部最优解,无法精确优化学习结果,
因此我们使用专门的logistic回归损失函数来评估偏差
L(y^,y)=−(ylogy^+(1−y)log(1−y^))
y=1时
L(y^,y)=−logy^
y=0时
L(y^,y)=−log(1−y^)
成本函数 cost function
成本函数衡量的是学习结果在全体训练样本上的表现
J(w,b)=1m∑mi=1L(y^(i),y(i))
=−1m∑mi=1[y(i)logy^(i)+(1−y(i))log(1−y^(i))]