一、Classification

主要讨论二元分类。

线性回归处理分类问题显然不靠谱,所以采用逻辑回归。

二、Hypothesis Representation

假设函数变为\(h_\theta(x)=g(\theta^TX)\),使得分类器的输出在[0,1]之间。

\(g(z)=\frac{1}{1+e^{-z}}\),叫做sigmoid函数:



这个算出的值代表\(y\)是正向类的概率。

三、Decision Boundary

将阈值设为0.5,那么可以得知:当\(\theta^TX>=0\)时,预测\(y\)为1,否则为0。

Decision Boundary就是分隔\(y=1\)与\(y=0\)的边界,这个边界可以是任何形状,取决于假设函数。

上图:



效果非常好,那么如果训练集的数据不是这么规则呢?

四、Cost Function

将逻辑回归的代价函数定义为:





如果沿用线性回归的cost function,那么得到的\(J(\theta)\)是非凸的,这样不利于寻找全局最优解。

如果预测值\(h_\theta(x)=1\),实际的标签\(y\)也是1,那么\(cost=0\);

如果预测值\(h_\theta(x)=0\),而实际的标签\(y\)是1,那么\(cost=+\infin\),可以看作是对算法预测错误的惩罚。。。

同样的,\(y=0\)也具有相似的特征。

简化上述代价函数:



所以cost function的向量化表示:

\[h = g(X\theta)
\]

\[J(\theta) = \frac{1}{m} \cdot \left(-y^{T}\log(h)-(1-y)^{T}\log(1-h)\right)
\]

可以通过求出\(J(\theta)\)的最小值,得出参数\(\theta\),接着用\(h_\theta(x)=\frac{1}{1+e^{-\theta^Tx}}\)得到我们的预测值。

怎么求出\(J(\theta)\)的最小值呢?对了,就是Gradient Descent.



向量化表示:



这个和之前线性回归更新参数的公式是一样的,但是由于\(h_\theta(x)\)不同,所以这两个梯度下降是完全不同的。

五、Multiclass classification



将其中的一个类作为正向类(y=1),其余作为负向类,分别训练出很多分类器,最后选择令输出值\(h_\theta^{i}(x)\)最大的一个\(i\)作为预测值。

相当于每一个分类器都可以识别一种类别:

#Week4 Logistic Regression的更多相关文章

  1. 逻辑回归 Logistic Regression

    逻辑回归(Logistic Regression)是广义线性回归的一种.逻辑回归是用来做分类任务的常用算法.分类任务的目标是找一个函数,把观测值匹配到相关的类和标签上.比如一个人有没有病,又因为噪声的 ...

  2. logistic regression与SVM

    Logistic模型和SVM都是用于二分类,现在大概说一下两者的区别 ① 寻找最优超平面的方法不同 形象点说,Logistic模型找的那个超平面,是尽量让所有点都远离它,而SVM寻找的那个超平面,是只 ...

  3. Logistic Regression - Formula Deduction

    Sigmoid Function \[ \sigma(z)=\frac{1}{1+e^{(-z)}} \] feature: axial symmetry: \[ \sigma(z)+ \sigma( ...

  4. SparkMLlib之 logistic regression源码分析

    最近在研究机器学习,使用的工具是spark,本文是针对spar最新的源码Spark1.6.0的MLlib中的logistic regression, linear regression进行源码分析,其 ...

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

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

  6. Stanford机器学习笔记-2.Logistic Regression

    Content: 2 Logistic Regression. 2.1 Classification. 2.2 Hypothesis representation. 2.2.1 Interpretin ...

  7. 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 ...

  8. Logistic Regression Vs Decision Trees Vs SVM: Part I

    Classification is one of the major problems that we solve while working on standard business problem ...

  9. Logistic Regression逻辑回归

    参考自: http://blog.sina.com.cn/s/blog_74cf26810100ypzf.html http://blog.sina.com.cn/s/blog_64ecfc2f010 ...

随机推荐

  1. Spring (五):AOP

    本文是按照狂神说的教学视频学习的笔记,强力推荐,教学深入浅出一遍就懂!b站搜索狂神说或点击下面链接 https://space.bilibili.com/95256449?spm_id_from=33 ...

  2. go 递归函数

    一.什么是递归函数? 当一个函数在其函数体内调用自身,则称之为递归. 二.引用经典例子:斐波那切数列 package main import "fmt" func main(){ ...

  3. bit/byte/ascii/unicode

    bit(位).byte(字节).ASCII.Unicode 和 UTF-8位和字节的关系bit 电脑记忆体中最小的单位,在二进位电脑系统中,每一bit 可以代表0 或 1 的数位讯号byte一个byt ...

  4. "一号标题"组件:<h1> —— 快应用组件库H-UI

     <import name="h1" src="../Common/ui/h-ui/text/c_h1"></import> < ...

  5. python如何操作excel 基础代码

    一 基础操作1打开excel表格并获取表格名称 wookbook = load_workbook(filename = 表格文件路径) (注意只能打开存在的表格,不能用该方法创建一个新表格文件) wo ...

  6. 接口 ThreadMXBean 一个很好用的线程管理接口类 可以参考 jdk 帮助文档

    概述  软件包   类  使用  树  已过时  索引  帮助  JavaTM Platform Standard Ed. 6  上一个类   下一个类 框架    无框架    所有类 摘要: 嵌套 ...

  7. AJ学IOS(28)UI之Quartz2D简单介绍

    AJ分享,必须精品 iOS开发UI篇—Quartz2D简单介绍 什么是Quartz2D Quartz 2D是⼀个二维绘图引擎,同时支持iOS和Mac系统 Quartz 2D能完成的工作: 绘制图形 : ...

  8. 学习Salesforce | Einstein业务机会评分怎么玩

    Einstein 业务机会评分(Opportunity Scoring)是销售团队的得力助手,通过分数以及研究影响分数的因素,确定业务机会的优先级,赢得更多交易. Einstein 业务机会评分可以给 ...

  9. 【半译】在ASP.NET Core中创建内部使用作用域服务的Quartz.NET宿主服务

    在我的上一篇文章中,我展示了如何使用ASP.NET Core创建Quartz.NET托管服务并使用它来按计划运行后台任务.不幸的是,由于Quartz.NET API的工作方式,在Quartz作业中使用 ...

  10. 终于明白if __name__ == '__main__':了

    其实很简单 if __name__ == '__main__': 就是一个判断 __name__是系统变量 __name__有一个特性,在当前文件运行是__main__,调用文件就是调用文件的路径了 ...