一、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. Java工程中如何读取配置文件中参数信息

    Java中读取配置文件中参数: 方法一:通过JDK中Properties来实现对配置文件的读取. Properties主要用于读取Java的配置文件,不同的编程语言有自己所支持的配置文件,配置文件中很 ...

  2. 下载安装配置 Scala-2.12.11

    文章更新于:2020-03-24 安装惯例,文件附上链接放在文首. 文件名:scala-2.12.11.tgz 文件大小:19.83 MB 下载链接:https://downloads.lightbe ...

  3. 课程登记窗口java

    设计窗口,实现课程的登记,并且将相应的数据写入文件之中.保证的是课程名称不可以重复,对于任课老师必须是在已经设定好的五位老师之中.并且上课地点也是在预先设定的范围内.窗口可以持续进行保存,数据将在判断 ...

  4. "选择图片"组件:<pickimage> —— 快应用组件库H-UI

     <import name="pickimage" src="../Common/ui/h-ui/media/c_pickimage"></ ...

  5. Java队列学习第一篇之列介绍

    Java并发之显式锁和隐式锁的区别 在面试的过程中有可能会问到:在Java并发编程中,锁有两种实现:使用隐式锁和使用显示锁分别是什么?两者的区别是什么?所谓的显式锁和隐式锁的区别也就是说说Synchr ...

  6. java解惑之常常忘记的事

    java解惑之常常忘记的事 2012-10-17 18:38:57|  分类: JAVA |  标签:基础知识  软件开发  |举报|字号 订阅     针对刚接触java的菜鸟来说,java基础知识 ...

  7. ES5和ES6基本介绍与面向对象的基本思想

    ES6和ES5基本介绍 let  const  关键词定义变量 let 定义变量 特点: let 定义的变量,不会进行预解析  let 定义的变量,与 forEach() 中的变量类似  每次执行都会 ...

  8. centos7用户管理及root忘记密码恢复

    查看用户相关命令:#id 用户和组的信息#whoami #查看当前有效用户名#who #显示目前登入系统的用户信息.#w # w 命令用于显示已经登陆系统的用户列表#users #用于显示当前登录系统 ...

  9. 15分钟从零开始搭建支持10w+用户的生产环境(二)

    上一篇文章,把这个架构的起因,和操作系统的选择进行了详细说明. 原文地址:15分钟从零开始搭建支持10w+用户的生产环境(一)   二.数据库的选择 对于一个10W+用户的系统,数据库选择很重要. 一 ...

  10. xshell下使用vim的编辑一个文件Ctrl+S和Ctrl+Q

    xshell下使用vim的编辑一个文件,保存的时候习惯性的按了Ctrl+S 结构悲剧了.屏幕锁死了.按其他键都没有反应,exc也不行. 经过问度娘才知道. 原来Ctrl+S在Linux里,是锁定屏幕的 ...