一、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. Hadoop(十):本地IDEA链接远程Hadoop

    本文使用的Hadoop为2.7.7,版本如果不同要下载相应版本的文件 配置本地的Hadoop库(不需完整安装,但是要有环境支持) 下载文件 https://github.com/speedAngel/ ...

  2. C语言数据结构队列

    #include<stdio.h>#include<stdlib.h>struct Node { int data;  Node *next;};struct Queue { ...

  3. "文字链接"组件:<h-link> —— 快应用组件库H-UI

     <import name="h-link" src="../Common/ui/h-ui/basic/c_link"></import&g ...

  4. Python设计模式(8)-抽象工厂

    # coding=utf-8 这种方式反倒把事情做复杂了 可取之处在于有了更高层次的抽象 class IEmployee: def insert_employee(self): pass class ...

  5. 深入了解CI/CD:工具、方法、环境、基础架构的全面指南

    本文来自Rancher Labs 持续集成和持续交付(CI/CD)是DevOps背后的助推力之一.如果你的企业正在考虑使用DevOps,那么CI/CD绝对是需要考虑的其中一部分.但是CI/CD到底意味 ...

  6. Mac配置hosts文件

    说明:工作里面有时候会遇到内网办公的环境,需要对使用的IP和地址进行配置到hosts文件内,所以记录一下: 1,Windows配置hosts Windows里面直接打开文件夹,可进行找到system/ ...

  7. std::string::append函数

    string& append (const string& str); string& append (const string& str, size_t subpos ...

  8. 【Java】用IDEA搭建源码阅读环境

    用IDEA搭建源码阅读环境 参考自CodeSheep的Mac源码环境搭建, https://www.bilibili.com/video/BV1V7411U78L 但是实际上在Windows搭建的差别 ...

  9. PAS

    一.概念 二.安装 打开Delphi,在主菜单上选择Component,单击Install Component,出现图所示的对话框.有两个选择,装到已经存在的包里面和装到新的包里面.我们选择后者,单击 ...

  10. 无序map 记录一下

    unordered_map<int ,int >mp; unordered_map是基于hash表实现的,查找元素的复杂度可以达到o(1),查找n个元素,复杂度为o(n). map是基于红 ...