逻辑回归数学推倒讲解
2016-04-23 08:22
267 查看
the logistic function公式
θ=es1+es\theta=\frac{e^s}{1+e^s} 其中入参是s,也就是神经元的信号s=WTXW^TX, 它的意思是归类到目标分类的概率是多少。这个公式也叫sigmoid,因为他是平滑的临界值。现在我们有h(x)=θ(s)\theta(s),这个被解释为一个概率的含义,举个例子,比如心脏病的概率是多少。
输入为一个向量x: 血脂水平,年龄,体重,血压等。
θ(s)\theta(s):就是心脏病的概率,我们知道s=WTXW^TX 可以理解为 风险指数。
推广到一般的概率概念
数据 Data(x,y) 里面的y是二进制啊。这个数据集并没有给你概率,而是直接给你了到底y是归属与某个分类与否,举个例子,比如到底有心脏病,还是没有。并不会告诉你25%的概率生心脏病。那么 y是有一个噪声的,并不准确。所以说目标函数
p(y|x)=f(x) for y=+1,
p(y|x)=1-f(x) for y=-1
公式1
y的分布概率是通过f来产生的。
我们想来学习一个目标函数g(x)=θ(WTX)≈\theta(W^TX) \approxf(x)
现在的问题就是,我们如何来找到一个w,它能够产生和样本一样的概率分布的y。
错误度量
每一个(x,y) ,y 是被概率f(x)来产生的,比较常用的错误代价函数是likelihood如果 目标函数就是f, 那么从x产生y的概率有多像,多类似。
如何来计算呢,我们来再回顾一下
p(y|x)=θ(ywTx)\theta(yw^Tx) 这个公式可以用来替代公式1
θ(−s)=1−θ(s)\theta(-s)=1-\theta(s)
数据集的最大似然 D=(x1,y1),…,(xn,yn)x_{n},y_{n}) 可以写成一个概率的连乘,这样就是把所有测试数据里面的的概率都考虑了一便。
公式如下:
max_value= ∏Ni=1θ(ynwTxn)\prod_{i=1}^{N}\theta(y_{n}w^Tx_{n})
相当于最小化:
min_value=-1N∏Ni=1θ(ynwTxn)\frac{1}{N}\prod_{i=1}^{N}\theta(y_{n}w^Tx_{n})
我们的目标就是把这个连乘写成一个对数函数的相加.
min_value=1N∑Ni=1ln(1θ(ynwTxn))\frac{1}{N}\sum_{i=1}^{N}ln(\frac{1}{\theta(y_{n}w^Tx_{n})})
这里θ=11+e−s\theta=\frac{1}{1+e^{-s}} 所以上述公式可以简化为:
Ein=1N∑Ni=1ln(1+e−ynwTxn)E_{in}=\frac{1}{N}\sum_{i=1}^{N}ln(1+e^{-y_{n}w^{T}x_{n}})
所以我们的误差度量函数可以写成如下的形式:
e(h(xn),yn)=ln(1+e−ynwTxn)e(h(x_{n}),y_{n})=ln(1+e^{-y_{n}w^{T}x_{n}})
未完待续
相关文章推荐
- amd64_or_ia64?
- JVM内存划分总结
- 【bzoj2091】【Poi2010】【The Minima Game】【dp】
- mysqlbinlog 查看binlog时报错unknown variable 'default-character-set=utf8'
- hdu 2181 哈密顿绕行世界问题 ——dfs
- 代码详解动态代理
- java多线程
- 用7次比较完成5个元素的排序
- Java虚拟机学习总结目录
- Swift开发iOS项目实战视频教程(二)---图片与动画
- poj 2488 A Knight's Journey ——dfs
- C#_会员管理系统:开发三(修改密码)
- 跨国风投公司加入区块链投资领域
- Java程序通用场景性能分析
- winsocket(1)
- 自定义圆盘式view
- JAVA 公共方法 之 date时间处理
- 在VMware上安装ubuntu server版本的虚拟机
- js 控制台输出
- 路漫漫其修远兮,吾将上下而求索——小酌重构系列[0]开篇有益