学习Logistic Regression的笔记与理解

1.首先从结果往前来看下how logistic regression make predictions。

设我们某个测试数据为X(x0,x1,x2···xn),Θ(θ0,θ1,θ2,···θn)为我们的学习算法所学到的参数,那么

写成向量的话就变成

Z就是我们得到的结果,但是logistic regression只能处理二值数据,这个Z是一个连续值,它的范围可以很广。为了把这个Z化为二值变量,引人Sigmoid函数

这个函数的图形如下所示,将算得的Z代入上式即可得到一个接近1或者0的值,我们把g(Z)函数得出的值>=0.5的判断为1。

所以最终构造出的预测函数为

这个函数也可以用下式表示,即在给定测试数据X和训练算法所得的系数Θ的条件下,该测试数据位positive(y=1)的概率。

当然相对的,下式为该测试数据位negative(y=0)的概率。

2.训练算法(得到参数Θ)

2.1首先通过一个例子来看下Cost函数:有一组数据(X,Y),其中X是属性,Y是类别属性(连续)。其图像如图1所示,训练算法要得到一个评估函数入图2的绿色直线所示来预测未来的测试数据。

很明显只要使训练数据离该直线的距离最短即可,即图3中的黑色直线之和最短。用数学公式来表示的话就是

其中

所以我们的训练算法就是要找合适的θ0,θ1来使下式最小

上式就称为cost函数,当然cost函数可以有很多种,这个cost函数只是适用于这种情况。

2.2而logistic regression使用的cost函数为

接下来问题就变成了如何求J(Θ)的最小值。求这个J(Θ)可以采用梯度下降法,以有两个参数θ1,θ2为例(多维的也类似),图中的圈代表J(Θ)的值(类似于地理上的等高线)

每次向该点处梯度方向移动α的距离,这样就能在多次计算后就能得到其最小值。迭代的终止条件可以设为达到某个指定的迭代次数或算法达到某个允许的误差范围。用数学公式来表示这个迭代过程就是:

其中表示对每个θj分别求偏导:

由上面的化简可得Θ的更新过程如下:

由这个公式迭代多次最终得到所需参数,完成logistic regression算法的训练过程。

来源:http://blog.sina.com.cn/s/blog_64ecfc2f0101ranp.html

学习Logistic Regression的笔记与理解(转)的更多相关文章

  1. Classification week2: logistic regression classifier 笔记

    华盛顿大学 machine learning: Classification 笔记. linear classifier 线性分类器 多项式: Logistic regression & 概率 ...

  2. [Machine Learning]学习笔记-Logistic Regression

    [Machine Learning]学习笔记-Logistic Regression 模型-二分类任务 Logistic regression,亦称logtic regression,翻译为" ...

  3. Logistic Regression 笔记与理解

    Logistic Regression 笔记与理解 Logistic Regression Hypothesis 记为 H(theta) H(theta)=g(z) 当中g(z),是一个叫做Logis ...

  4. ufldl学习笔记与编程作业:Logistic Regression(逻辑回归)

    ufldl学习笔记与编程作业:Logistic Regression(逻辑回归) ufldl出了新教程,感觉比之前的好,从基础讲起.系统清晰,又有编程实践. 在deep learning高质量群里面听 ...

  5. 学习笔记(七): Logistic Regression

    目录 Calculating a Probability Model Training 1.Loss function for Logistic Regression 2.Regularization ...

  6. 深度学习 Deep LearningUFLDL 最新Tutorial 学习笔记 2:Logistic Regression

    1 Logistic Regression 简述 Linear Regression 研究连续量的变化情况,而Logistic Regression则研究离散量的情况.简单地说就是对于推断一个训练样本 ...

  7. 李宏毅机器学习笔记3:Classification、Logistic Regression

    李宏毅老师的机器学习课程和吴恩达老师的机器学习课程都是都是ML和DL非常好的入门资料,在YouTube.网易云课堂.B站都能观看到相应的课程视频,接下来这一系列的博客我都将记录老师上课的笔记以及自己对 ...

  8. Coursera公开课笔记: 斯坦福大学机器学习第六课“逻辑回归(Logistic Regression)” 清晰讲解logistic-good!!!!!!

    原文:http://52opencourse.com/125/coursera%E5%85%AC%E5%BC%80%E8%AF%BE%E7%AC%94%E8%AE%B0-%E6%96%AF%E5%9D ...

  9. [机器学习] Coursera ML笔记 - 逻辑回归(Logistic Regression)

    引言 机器学习栏目记录我在学习Machine Learning过程的一些心得笔记,涵盖线性回归.逻辑回归.Softmax回归.神经网络和SVM等等.主要学习资料来自Standford Andrew N ...

随机推荐

  1. SQLSERVER数据库中批量导入数据的几种方法

    第一:使用Select Into 语句 如果企业数据库都是采用SQL Server数据库的话,则可以利用select into语句实现数据的导入. select into语句的作用是把数据从另外一个数 ...

  2. SVG 2D入门1 - SVG综述

    位图与矢量图 以前,浏览器中显示的图形,例如jpeg.gif等,都是位图,这些图像格式是基于光栅的.在光栅图像中,图像文件定义了图像中每个像素的颜色值.浏览器需要读取这些值并做出相应行动.这种图像的再 ...

  3. 2016 - 1 - 20 runloop学习(2)

    一:CFRunLoopModeRef 1. CFRunLoopModeRef带表RunLoop的运行模式 2. 一个Runloop可以有若干个mode,每个mode又包含若干个sourse,timer ...

  4. STL源码分析----神奇的 list 的 sort 算法实现

    STL中有一个std::sort算法,但它是不支持std::list的,因为list不提供RandomIterator的支持,但list自己提供了sort算法,把list的元素按从小到大的方式来排序, ...

  5. POJ 3278 经典BFS

    进一步了解了bfs; 题意:给你n,然后用+,-,*三种运算使n变成k; 漏洞:在算出新的数字之后,一定要判边界,否则RE,而且在每一步后面都得加判断是否等于K,如果是即刻退出,否则WA,判这个的时候 ...

  6. OD调试4--绕过nag窗口

    先看一下程序的运行情况 先跳出了一个nag窗口 点确定 又跳出了一个NAG窗口,这是一些程序编写的时候常用的方法,设法让你购买正版软件, 于是今天呢,学会了四种绕过NAG的方法 我们先用OD加载进入这 ...

  7. magento后台登陆被锁定 索引报错的解决:General error: 1205 Lock wait timeout

    1. magento在索引的时候用shell,有时候会报错: General error: 1205 Lock wait timeout exceeded 这个时候,是因为行锁的原因,在表中您直接用s ...

  8. 【Bear】api分类

    参考 jQuery API 中文文档

  9. 设置viewport进行缩放

    <meta name="viewport" content="width=320,maximum-scale=1.3,user-scalable=no"& ...

  10. ABAP 使用的字符类型

    1.ABAP基本数据类型 类型        描述                属性 C            字符类型           默认长度1,最大长度不限N            数字类 ...