机器学习: 神经网络中的Error函数
2016-06-17 16:14
387 查看
利用神经网络做分类的时候,可以将神经网络看成一个mapping function,从输入到输出经过复杂的非线性变换。而输出的预测值与实际的目标值总是存在一定偏差的,一般利用这种偏差建立error 函数,再利用back propagation 来训练神经网络。
我们可以探讨一下,error 函数与概率分布或者概率密度函数的关系。
y=σ(a)=11+exp(−a)
0≤y(x,w)≤1, y(x,w) 可以看成是x 属于第一类的条件概率 p(C2|x), 显然,p(C1|x)=1−y(x,w), 这种概率分布可以用伯努利分布来表示:
p(t|x,w)=y(x,w)t(1−y(x,w))1−t
那么,给定一组训练数据,含有N个独立观测的样本,我们可以建立如下的概率分布:
p(D|w)=∏n=1Np(tn|w)=∏k=1Nyntn(1−yn)1−tn
这里,yn=y(xn,w). 对上式取对数,对应的是似然估计函数:
lnp(D|w)=∑n=1N{tnlnyn+(1−tn)ln(1−yn)}
我们转换成error的时候,当然是希望error越小越好,最大似然估计对应最小的error,所以对上式取负号,可以得到如下的error函数:
E(w)=−∑n=1N{tnlnyn+(1−tn)ln(1−yn)}
这个就是训练二分类神经网络的时候,用的error 函数。
p(t|x,w)=∏k=1Kytkk(1−yk)(1−tk)
整个训练集的概率分布可以表示为:
p(D|w)=∏n=1N∏k=1Kp(tnk|w)=∏n=1N∏k=1Kynktnk(1−ynk)1−tnk
与二分类的情况类似,我们可以通过似然函数,取负对数,得到相应的error 函数:
E(w)=−∑n=1N∑k=1K{tnklnynk+(1−tnk)ln(1−ynk)}
∑k=1Kp(tk=1|x)=1
给定一个样本,其概率分布为:
p(t|x,w)=∏k=1Kp(tk|x,w)=∏k=1Kyk(x,w)tk
一组训练样本的概率分布可以表示为:
p(D|w)=∏n=1N∏k=1Kp(tnk|w)=∏n=1N∏k=1Kynktnk
对上式取负对数,我们可以得到多分类的error函数为:
E(w)=−∑n=1N∑k=1Ktnklnyk(xn,w)
其中:
yk(x,w)=exp(ak(x,w))∑jexp(aj(x,w))
我们可以探讨一下,error 函数与概率分布或者概率密度函数的关系。
二分类
先来看二分类情况(t∈{0,1}),我们假设网络最终的输出会经过一个sigmoid 函数:y=σ(a)=11+exp(−a)
0≤y(x,w)≤1, y(x,w) 可以看成是x 属于第一类的条件概率 p(C2|x), 显然,p(C1|x)=1−y(x,w), 这种概率分布可以用伯努利分布来表示:
p(t|x,w)=y(x,w)t(1−y(x,w))1−t
那么,给定一组训练数据,含有N个独立观测的样本,我们可以建立如下的概率分布:
p(D|w)=∏n=1Np(tn|w)=∏k=1Nyntn(1−yn)1−tn
这里,yn=y(xn,w). 对上式取对数,对应的是似然估计函数:
lnp(D|w)=∑n=1N{tnlnyn+(1−tn)ln(1−yn)}
我们转换成error的时候,当然是希望error越小越好,最大似然估计对应最小的error,所以对上式取负号,可以得到如下的error函数:
E(w)=−∑n=1N{tnlnyn+(1−tn)ln(1−yn)}
这个就是训练二分类神经网络的时候,用的error 函数。
多个二分类
如果是多个二分类同时存在的情况,就像我们之前在离散变量的概率分布里讨论的那样,可以建立如下的概率分布:p(t|x,w)=∏k=1Kytkk(1−yk)(1−tk)
整个训练集的概率分布可以表示为:
p(D|w)=∏n=1N∏k=1Kp(tnk|w)=∏n=1N∏k=1Kynktnk(1−ynk)1−tnk
与二分类的情况类似,我们可以通过似然函数,取负对数,得到相应的error 函数:
E(w)=−∑n=1N∑k=1K{tnklnynk+(1−tnk)ln(1−ynk)}
多分类
最后,我们再讨论一下多分类的情况,可以用0-1组成的向量来表示输出,每个输出向量中,只有一个1,其它都是0,第几个分量为1,说明输入的x 属于第几类。y(x,w)=p(tk=1|x), 这种多分类与上面讨论的多个二分类的情况不同,多分类中,每次的输出向量中只有一个1。显然:∑k=1Kp(tk=1|x)=1
给定一个样本,其概率分布为:
p(t|x,w)=∏k=1Kp(tk|x,w)=∏k=1Kyk(x,w)tk
一组训练样本的概率分布可以表示为:
p(D|w)=∏n=1N∏k=1Kp(tnk|w)=∏n=1N∏k=1Kynktnk
对上式取负对数,我们可以得到多分类的error函数为:
E(w)=−∑n=1N∑k=1Ktnklnyk(xn,w)
其中:
yk(x,w)=exp(ak(x,w))∑jexp(aj(x,w))
相关文章推荐
- HTTP请求返回状态码
- android之获取网络图片
- Cloudera Manager、CDH零基础入门、线路指导 http://www.aboutyun.com/thread-9219-1-1.html (出处: about云开发)
- TCP协议建立连接与释放连接
- Deep Learning深度学习之(五)CNN卷积神经网络
- 记录达人的现场 720°迷你OKAA VR全景相机发布
- Retrofit2.0 ,OkHttp3完美同步持久Cookie实现免登录(二)
- 使用 NodeJS + Express 從 GET/POST Request 取值 -摘自网络
- Android 6.0 使用HttpURLConnection 使用Get提交遇到405等问题。
- 网络端口占用情况检测
- kali linux的http
- 如何成为网络安全工程师
- 困扰新手伙伴的TCP和UDP
- Ajax学习(二)
- HTTP 错误 401.0 - Unauthorized 的解决方案
- 网络抓包工具Charles的介绍与使用
- TCP(传输控制协议)和三次握手和四次断开
- 在Windows系统上怎么使用SecureCRT链接Linux AWS EC2 -摘自网络
- HTTP原理之HTTP报文(1) 方法
- HttpClient_自定义cookie策略