线性回归算法中,我们看到,在training set中,输入矩阵X与向量y的值都是连续的。所以在二维空间中,我们可以用一条直线去模拟X与y的变化关系,寻找参数向量theta的取值。如根据房屋面积预测房价,根据日期、纬度来预测温度等等,我们称此类问题为回归(Regression)。

而本文,我们开始研究另外一种情况下的机器学习,即y值的变化为不连续的(categorical)。例如,y的取值只有0和1,我们用来表征类似:考试通过与否(pass/fail)、比赛输赢(win/lose)、是否患病(healthy/sick)等问题。这种y的取值只有2种的情形,称为2分类,当然也存在3分类、4分类、多分类的情况,但我们总要从最简单的情况开始。这样X连续变化,y值为categorical的机器学习问题,我们称为分类Classification。

其实很明显,我们不是在寻找X与y的变化关系了,而是在寻找一个决策边界(Decision Boundary),超过这个边界,我们认为取值为1的概率要大一些,反之我们会取0。

我们将Logistic Function定义为如下形式,我们可以看出,在x连续变化时,估计值h(x)始终在0,1之间。当x趋于无穷大时,h(x)=1;h(0)=1/2;x趋于负无穷时,h(x)=0。

其图形为:

由于Logistic Function的选择,使我们有了求解theta最关键的一步:将h(x)视作一种概率,从而利用最大似然估计(Maximum Likelihood Estimation)求解该问题。我们可以将h(x)的公式看做y=1的概率,则原公式可以写为:

由于y的值只可能取0或1,所以我们根据概率性质可知:

同样的,我们可以将以上两个公式合二为一成为如下形式:

接下来,我们来做参数拟合(Parameter Fitting),极大似然函数为:

对L求log得:

在数理统计中,我们在此对上式求偏导数,然后置零解方程,即可得出令似然函数最大的theta值。而在我们的Logistic Regression Algorithm中,我们需要拿到这个偏导数值(在当前theta值情况下,斜度最陡翘的方向),然后来做梯度上升(从结果上看似乎是梯度下降,但其实在我们定义J的时候加了个负号,将其隐藏了)操作。我们定义Cost Function J为:

对J of theta求导,见手稿:

带入梯度下降算法我们得到,对于每一个theta

若用向量表示,则为:

Logistic Regression Algorithm解决分类问题的更多相关文章

  1. 使用Logistic Regression Algorithm进行多分类数字识别的Octave仿真

    所需解决的问题是,训练一个Logistic Regression系统,使之能够识别手写体数字1-10,每张图片为20px*20px的灰度图.训练样例的输入X是5000行400列的一个矩阵,每一行存储一 ...

  2. Logistic Regression Algorithm

    逻辑回归算法LR. 简介 逻辑回归是机器学习从统计学领域借鉴的另一种技术.它是二进制分类问题的首选方法(有两个类值的问题).   Logistic回归就像线性回归,目标是找到权重每个输入变量的系数值. ...

  3. 逻辑回归(Logistic Regression)二分类原理及python实现

    本文目录: 1. sigmoid function (logistic function) 2. 逻辑回归二分类模型 3. 神经网络做二分类问题 4. python实现神经网络做二分类问题 1. si ...

  4. Stanford机器学习---第三讲. 逻辑回归和过拟合问题的解决 logistic Regression & Regularization

    原文:http://blog.csdn.net/abcjennifer/article/details/7716281 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归 ...

  5. [OpenCV] Samples 06: [ML] logistic regression

    logistic regression,这个算法只能解决简单的线性二分类,在众多的机器学习分类算法中并不出众,但它能被改进为多分类,并换了另外一个名字softmax, 这可是深度学习中响当当的分类算法 ...

  6. Logistic Regression vs Decision Trees vs SVM: Part II

    This is the 2nd part of the series. Read the first part here: Logistic Regression Vs Decision Trees ...

  7. Machine Learning - 第3周(Logistic Regression、Regularization)

    Logistic regression is a method for classifying data into discrete outcomes. For example, we might u ...

  8. 线性模型(3):Logistic Regression

    此笔记源于台湾大学林轩田老师<机器学习基石><机器学习技法> (一)Logistic Regression 原理 对于分类问题,假设我们想得到的结果不是(x属于某一类)这种形式 ...

  9. [OpenCV] Samples 06: logistic regression

    logistic regression,这个算法只能解决简单的线性二分类,在众多的机器学习分类算法中并不出众,但它能被改进为多分类,并换了另外一个名字softmax, 这可是深度学习中响当当的分类算法 ...

随机推荐

  1. Linux 重定向命令有哪些?有什么区别?

    1.重定向>Linux 允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中.如:ls >test.txt ( test.txt 如果不存在,则创建,存在则覆盖其内容 ...

  2. VirtualStringTree常用类和属性

    重要的类:TBaseVirtualTree = class(TCustomControl)TCustomVirtualStringTree = class(TBaseVirtualTree)TVirt ...

  3. 问题 L: 超超的中等意思

    问题 L: 超超的中等意思 时间限制: 1 Sec  内存限制: 128 MB提交: 366  解决: 27[提交] [状态] [命题人:jsu_admin] 题目描述 已知p,q,k和一个难搞得多项 ...

  4. 关于html5 video的连续播放

    <!doctype html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  5. LeetCode106. 从中序与后序遍历序列构造二叉树

    106. 从中序与后序遍历序列构造二叉树 描述 根据一棵树的中序遍历与后序遍历构造二叉树. 注意: 你可以假设树中没有重复的元素. 示例 例如,给出 中序遍历 inorder = [9,3,15,20 ...

  6. element 弹框关闭报错

    <template> <el-container style="padding: 00px 20px 0px 20px"> <el-dialog ti ...

  7. ios UIWebView加载HTMLStr图文,关于图片宽高设置,webView内容实际高度的踩坑问题

    一.关于UIWebView 与 WKWebView 选取问题 从发布时间看: 2008年7月11日,在新一代iPhone3G正式发售当天,iPhone OS 2.0(iOS 2.0)推出,这时候就有U ...

  8. RocketMQ集群部署安装

    RcoketMQ:[ 1.低延时:在高压下,1毫秒内超过99.6%的反应延迟. 2.面向金融:具有跟踪和审计功能的高可用性. 3.行业可持续发展:保证了万亿级的消息容量. 4.厂商中立:一个新的开放的 ...

  9. Sass @warn

    @warn 和 @debug 功能类似,用来帮助我们更好的调试 Sass.如: @mixin adjust-location($x, $y) { @if unitless($x) { @warn &q ...

  10. uboot移植之迷雾解码

    按照蜗窝科技的步骤执行 一.有关硬件描述的填空题 1)CPU上电后,从哪种设备(       BOOTROM         )的哪个地址(        0x0000_0000       )开始执 ...