第二周 神经网络基础

来源:互联网 发布:优化算法比较好的书籍 编辑:程序博客网 时间:2024/05/29 14:05

cat

基本概念

给定由n 个属性形成的输入x=(x1;x2;...;xn), 其中 xi 表示为 x在第 i 个属性上的取值。通过对属性的线性组合,可得出一个输出函数 y:

y=w1x1+w2x2+...+wnxn+b(1)

w,b

其中n 个属性, 我们可以称之为输入有 n 个特征, 输入所有的特征可以用一个nx维特征向量(或称之为nx1的矩阵)表示 x=x1x2...xn,

利用向量表示输入输出关系,可以简单表示为:

y=wTx+b(2)

输入与输出形成的 (x,y) 可表示为一个单独的样本.

由m个样本集构成的训练集可以表示为 mtrain={(x(1),y(1)),(x(2),y(1)),...(x(m),y(1))}, 用 矩阵可表示为:

X=......x(1)i,............x(2)i...........................x(m)i......   xji   j   i  

显然 XRnm, 有n行和m列

此处采用的是 列向量的表示方式,也可以用行向量的表示方式,
而用列向量更方便处理数据,因此以后采用列向量表示

Logistic Regression基础

logistic Regression(逻辑回归) 是一种监督学习的 Binary Classfication(二分分类) 算法, 二分分类算法其实就是判断输入是或者不是的某种结果的一种算法。

监督学习中,通过训练集与算法形成一个对应的模型,然后利用该模型去预测测试集里面的数据。

例如: 判断一张图片是否为 Cat 就是一个二分分类的问题。输入x为一张图片, 算法输出的结果ŷ 实际上是一个概率值,可理解为该算法判断这张图片为猫的可能性, 表示为:

ŷ =P(y=1x)
.

理想情况, 希望当输入 x 满足某种条件时候,ŷ =1, x 不满足某种条件时候,ŷ =0,实际上,算法通过输入特征的线性组合 y=wTx+b 计算出来的结果对于二分分类来说很表示的不是很好,因为线性组合结果可能有非常多种,可能从 负无穷到正无穷。 但是实际上,我们仅仅需要 0~1 之间的概率值,因此,我们引入 sigmoid函数, sigmoid函数表示为:

σ(z)=11+ez(3)

Sigmoid 图像表示为:

激活函数

我们可以观察到,sigmoid函数 对于任何输入 x, 其输出 y(0 1), Good!

因此 ŷ  可表示为:

ŷ =σ(z)=σ(wTx+b)(4)
.

Logistic Regression中, 我们已经知道了输入x以及对应的模型函数 ŷ , 通过需要不断的调整 wb 使得 Logistic Regression 模型 预测越来越准确。

But, 怎么去判断一个函数准确度呢?


Loss Function(损失函数) 和 Cost Function

实际操作中,模型预测值 ŷ  与真实值 y 可能一直,也可能不一致,用一个损失函数(Loss Function) 或者 代价函数(Cost Function)来度量预测程度的错误。

损失函数(Loss Function):

L(ŷ ,y)=(ylogŷ +(1y)log(1ŷ ))

成本函数(Cost Function):

J(w,b)=1mi=0mL(ŷ ,y)=1mi=0m(ylogŷ +(1y)log(1ŷ ))

证明:

单个样本的损失函数:

在单个样本中, 我们定义了sigmoid函数ŷ =σ(z)=σ(wTx+b)(5)

假设 y = 1 时, P(y=1x)=ŷ , 那么 y = 0 时,P(y=0x)=1ŷ  .对于上面的两个函数, 我们可以写成

P(yx)=ŷ y(1ŷ )(1y)

利用log函数的单调性, 可以将 上述公式转换为:

log(P(yx))=log(ŷ y(1ŷ )(1y))=ylogŷ +(1y)log(1ŷ )

我们定义, 损失函数 L(ŷ ,y)

L(ŷ ,y)=log(P(yx))=(ylogŷ +(1y)log(1ŷ ))

对于单个样本而言,我们需要求得最小的损失函数, 也就是需要求得 最大的 P(yx)

m个样本集的成本函数:
在训练集中,我们假设 样本 独立同分布的,那么 m 个样本集的最大似然估计

P=i=0mP(y(i)x(i))

其对数似然函数:

logp=i=0mlogP(y(i)x(i))=i=0mL(ŷ (i),y(i))

如果我们希望 logp越大, 那么希望 mi=0L(ŷ ,y)越小

那么定义样本集的成本函数可定义为:

J(w,b)=1mi=0mL(ŷ (i),y(i))=1mi=0m(y(i)logŷ (i)+(1y(i))log(1ŷ (i)))

最大似然函数: 《概率论与数理统计》 第七章

梯度下降 - 单个样本

为了训练得到更好的模型,需要我们选取到最优的 wb, 我们采用的是梯度下降法

梯度下降

通过不断的学习, 使得

w=wαdJ(w,b)dwb=bαdJ(w,b)db

来获取到最优解

关于导数的相关知识,可以参考高等数学-导数

对于 Logistic Regression,我们可以得到如下:

zŷ L(a,y)=wTx+b=a=σ(z)=(yloga+(1y)log(1a))

假设输入有两个特征,下图表示一系列过程:

逻辑回归

那么可以求得:

dadzdw1dw2db=dL(a,y)da=ya+1y1a=dL(a,y)dz=dL(a,y)dadadz=(ya+1y1a)(a(1a))=ay=dL(a,y)dw1=dL(a,y)dzdzdw1=x1dz=dL(a,y)dw2=dL(a,y)dzdzdw2=x2dz=dL(a,y)db=dL(a,y)dzdzdb=dz

梯度下降 - 样本集

向量化概念1

向量化概念2

反向推导

原创粉丝点击