Logistic Regression - Formula Deduction
Sigmoid Function
\[ \sigma(z)=\frac{1}{1+e^{(-z)}} \]
feature:
- axial symmetry:
\[ \sigma(z)+ \sigma(-z)=1 \] - gradient:
\[ \frac{\partial\sigma(z)}{\partial z} = \sigma(z)[1-\sigma(z)] \]
由性质1 可知,
\[ \frac{\partial\sigma(z)}{\partial z} = \sigma(z) \sigma(-z) \]
Logistic Function
\[ \sigma(x;\theta)= \frac{1}{1+e^{-\theta x}} \]
首先我们考虑 \(2\) 分类问题, 所以\(f(x)\)的值域也是 \([-1,1]\)。
\[ P(y=1|x,\theta) = \sigma(x) \]
即对于给定的样本\(x\),其属于类别 \(1\) 的概率是 \(f(x)\)。则属于类别 \(-1\) 的概率是
\[P(y=-1 | x,\theta) = 1-\sigma(x)= \sigma(-x)\]
上述概率也可以写作:
\[P(y | x,\theta) = \left\{\begin{split}\sigma(x),~~~~y=1 \\ \sigma(-x),y=-1 \end{split}\right.\]
代价函数的形式是:
\[\mathcal{l}(\theta) = \frac{1}{n} \sum_{i=1}^{n} \log \sigma(y_i x_i) \]
Note
- 之所以记 \(y\in [-1,1]\) 而不是 \(y \in [0,1]\),因为前者能简化计算公式,不需要再做分类计算了。
- 如果采用 \(y \in [0,1]\), 那么我们的代价函数就变成了:
\[ \mathcal{l}(\theta) = \frac{1}{n} \sum_{i=1}^{n} y_i \log \sigma(x_i) + (1-y_i) \log (1-\sigma(x_i)) \]
详情请参见: [Logistic Regression分类器](http://www.cnblogs.com/guyj/p/3800519.html)
Logistic Regression - Formula Deduction的更多相关文章
- Logistic Regression and Gradient Descent
Logistic Regression and Gradient Descent Logistic regression is an excellent tool to know for classi ...
- ISLR系列:(2)分类 Logistic Regression & LDA & QDA & KNN
Classification 此博文是 An Introduction to Statistical Learning with Applications in R 的系列读书笔记,作为本人的一 ...
- Linear and Logistic Regression in TensorFlow
Linear and Logistic Regression in TensorFlow Graphs and sessions TF Ops: constants, variables, funct ...
- Regularized logistic regression
要解决的问题是,给出了具有2个特征的一堆训练数据集,从该数据的分布可以看出它们并不是非常线性可分的,因此很有必要用更高阶的特征来模拟.例如本程序中个就用到了特征值的6次方来求解. Data To be ...
- 逻辑回归 Logistic Regression
逻辑回归(Logistic Regression)是广义线性回归的一种.逻辑回归是用来做分类任务的常用算法.分类任务的目标是找一个函数,把观测值匹配到相关的类和标签上.比如一个人有没有病,又因为噪声的 ...
- logistic regression与SVM
Logistic模型和SVM都是用于二分类,现在大概说一下两者的区别 ① 寻找最优超平面的方法不同 形象点说,Logistic模型找的那个超平面,是尽量让所有点都远离它,而SVM寻找的那个超平面,是只 ...
- SparkMLlib之 logistic regression源码分析
最近在研究机器学习,使用的工具是spark,本文是针对spar最新的源码Spark1.6.0的MLlib中的logistic regression, linear regression进行源码分析,其 ...
- [OpenCV] Samples 06: [ML] logistic regression
logistic regression,这个算法只能解决简单的线性二分类,在众多的机器学习分类算法中并不出众,但它能被改进为多分类,并换了另外一个名字softmax, 这可是深度学习中响当当的分类算法 ...
- Stanford机器学习笔记-2.Logistic Regression
Content: 2 Logistic Regression. 2.1 Classification. 2.2 Hypothesis representation. 2.2.1 Interpretin ...
随机推荐
- 准备CLR源码阅读环境
微软发布了CLR 2.0的源码,这个源码是可以直接在freebsd和windows环境下编译及运行的,请在微软shared source cli(http://www.microsoft.com/en ...
- ORACLE DELETE数据慢的案例
今天遇到一个有意思的案例,一开发同事告诉我他删除一个表的记录非常慢,已经快1个多小时了还没有完成.而且删除的记录只有1百多条.真是大跌眼镜的一件事情.最后发现该表与多个表有外键关联关系(这个表即是主表 ...
- RHEL 5.7 Yum配置本地源[Errno 2] No such file or directory
在Red Hat Enterprise Linux Server release 5.7 上配置YUM本地源时,遇到了"Errno 5] OSError: [Errno 2] No such ...
- phpAdmin安装
phpAdmin是和Navicat重复的功能 负责管理MySql数据库 不过他是使用浏览器进行管理MySql数据库 PHP环境搭建的完整步骤 http://www.cnblogs.com/azhe-s ...
- Python基础之面向对象
一.面向对象概述 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 面向过程 ...
- android 获取应用的当前版本号&获取当前android系统的版本号
(转自:http://www.cnblogs.com/qsl568/archive/2012/03/14/2395636.html) 获取当前应用的版本号: private String getVer ...
- strcat 函数的实现
原型 extern char *strcat(char *dest,char *src); 用法 #include <string.h> 功能 把 ...
- [WPF系列]-基础 TextBlock
AUTOMATICALLY SHOWING TOOLTIPS ON A TRIMMED TEXTBLOCK (SILVERLIGHT + WPF)
- 【转载、推荐】不要自称是程序员,我十多年的 IT 职场总结
注评:一气读完后,有些和我的观点类似.这篇文章显然是外国老写的,但是不妨碍我们的跨国交流. 如果我可以给每个工程教育增加一门课,它不会涉及编译器.门电路或是时间复杂度,而是一门介绍行业现实的入门课,因 ...
- python爬虫学习(2) —— 爬一下ZOL壁纸
我喜欢去ZOL找一些动漫壁纸当作桌面,而一张一张保存显然是太慢了. 那怎么办呢,我们尝试使用简单的爬虫来解决这个问题. 0. 本爬虫目标 抓取给定分类「或子分类」网址的内容 分析并得到每个分类下的所有 ...