《机器学习基石》---Linear Models for Classification
1 用回归来做分类
到目前为止,我们学习了线性分类,线性回归,逻辑回归这三种模型。以下是它们的pointwise损失函数对比(为了更容易对比,都把它们写作s和y的函数,s是wTx,表示线性打分的分数):

把这几个损失函数画在一张图上:

如果把逻辑回归的损失函数ce做一个适当的放缩,则可以得到下图:

可以看出,平方误差和放缩后的交叉熵误差是0/1误差的上限,这里以放缩后的ce举例,由于对于每个点的error均成立不等式,则不论是对于Ein还是Eout仍然有不等式成立,因为它们是数据集上每个点error的期望:

应用到VCbound,就有:

可以看出,只要把训练集上的交叉熵误差做到低,则就能保证真实的0/1错误也比较低。
因此线性回归和逻辑回归都可以用来做分类:

正如之前在《噪声与错误》一节中所说,我们这里用平方错误或交叉熵错误来代替01错误,作为errhat。
通常,我们会使用线性回归的结果作为逻辑回归,PLA,pocket算法的初始值。
2 随机梯度下降法
(注:课程里面并没有证明为什么SGD能work,直接说这样替代是可行的。)
使用随机选取一个点的梯度来代替真实的梯度,计算代价明显降低,同时能保证效果是近似的。(收敛速度会变慢,因为最快的收敛方向一定是真实的梯度方向)。
PLA和逻辑回归的联系:
当逻辑回归使用SGD时,与PLA形式上很类似,可以看作是一种soft-PLA。因为PLA是要么更新,要么不更新,而使用SGD的逻辑回归则是每次更新一定的值:

注意,对于随机梯度下降法来说,停止的条件一般是足够的迭代次数,而不是看梯度是否为0。否则再去算梯度是否为0,就没有必要用SGD了。
3 用逻辑回归做多元分类
先介绍一种简单的方法,OVA:
要做k元分类,我们相当于对同一个训练数据集训练k个二元逻辑回归模型。训练第k个模型时,标签做一定的修改,类别是k就把标签记为1,不是k就记为-1。
在做预测时,就是对这k个模型都算一遍,选择打分最大的作为预测类别:

上面的算法的一个缺点是,当k很大且每个类别的样本数量均匀时,对每个训练来说就是不均衡的。可以使用下面的算法OVO来解决这个问题:
训练C(k,2)个二分类模型,每个模型训练只使用两个类的数据,显然这样就是均衡的。做预测时,每个模型投票给一个类,最终选用得票数最多的类作为预测结果:

另外一种方法,是使用soft-max回归。事实上,逻辑斯蒂函数是soft-max函数的一个特例。
《机器学习基石》---Linear Models for Classification的更多相关文章
- 机器学习基石11-Linear Models for Classification
注: 文章中所有的图片均来自台湾大学林轩田<机器学习基石>课程. 笔记原作者:红色石头 微信公众号:AI有道 上一节课,我们介绍了Logistic Regression问题,建立cross ...
- 机器学习基石笔记:11 Linear Models for Classification
一.二元分类的线性模型 线性分类.线性回归.逻辑回归: 可视化这三个线性模型的代价函数, SQR.SCE的值都是大于等于0/1的. 理论分析上界: 将回归应用于分类: 线性回归后的参数值常用于pla/ ...
- 机器学习基石笔记:11 Linear Models for Classification、LC vs LinReg vs LogReg、OVA、OVO
原文地址:https://www.jianshu.com/p/6f86290e70f9 一.二元分类的线性模型 线性回归后的参数值常用于PLA/PA/Logistic Regression的参数初始化 ...
- Coursera台大机器学习课程笔记10 -- Linear Models for Classification
这一节讲线性模型,先将几种线性模型进行了对比,通过转换误差函数来将linear regression 和logistic regression 用于分类. 比较重要的是这种图,它解释了为何可以用Lin ...
- PRML读书会第四章 Linear Models for Classification(贝叶斯marginalization、Fisher线性判别、感知机、概率生成和判别模型、逻辑回归)
主讲人 planktonli planktonli(1027753147) 19:52:28 现在我们就开始讲第四章,第四章的内容是关于 线性分类模型,主要内容有四点:1) Fisher准则的分类,以 ...
- 11 Linear Models for Classification
一.二元分类的线性模型 线性分类.线性回归.逻辑回归 可视化这三个线性模型的代价函数 SQR.SCE的值都是大于等于0/1的 理论分析上界 将回归应用于分类 线性回归后的参数值常用于pla/pa/lo ...
- Regression:Generalized Linear Models
作者:桂. 时间:2017-05-22 15:28:43 链接:http://www.cnblogs.com/xingshansi/p/6890048.html 前言 本文主要是线性回归模型,包括: ...
- Generalized Linear Models
作者:桂. 时间:2017-05-22 15:28:43 链接:http://www.cnblogs.com/xingshansi/p/6890048.html 前言 主要记录python工具包:s ...
- [Scikit-learn] 1.5 Generalized Linear Models - SGD for Classification
NB: 因为softmax,NN看上去是分类,其实是拟合(回归),拟合最大似然. 多分类参见:[Scikit-learn] 1.1 Generalized Linear Models - Logist ...
随机推荐
- 分布式事务(3)---RocketMQ实现分布式事务原理
分布式事务(3)-RocketMQ实现分布式事务原理 之前讲过有关分布式事务2PC.3PC.TCC的理论知识,博客地址: 1.分布式事务(1)---2PC和3PC原理 2.分布式事务(2)---TCC ...
- hdfs文件写入kafka集群
1. 场景描述 因新增Kafka集群,需要将hdfs文件写入到新增的Kafka集群中,后来发现文件不多,就直接下载文件到本地,通过Main函数写入了,假如需要部署到服务器上执行,需将文件读取这块稍做修 ...
- 控制反转&依赖注入
IoC(Inversion of Control,控制反转).这是spring的核心,贯穿始终.所谓IoC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系.这是什么 ...
- mac环境下java项目无创建文件的权限
1.问题: 先抛问题,由于刚刚换用mac环境,之前windows上开发的代码调试完毕,还未上线.之后上线部署之前,tl直连测试本地环境(mac)环境,功能无法使用,显示java.io.IOExcept ...
- SQLite的一些体会
SQLite遵循sql语法,所以如果接触过数据库,使用它进行增删改查几乎没障碍.在.net中,它与Mysql.sql server的类也相似,比如连接类名字是SQLiteConnection,不过它S ...
- [Spring-Cloud-Alibaba] Sentinel 整合RestTemplate & Feign
Sentinel API Github : WIKI Sphu (指明要保护的资源名称) Tracer (指明调用来源,异常统计接口) ContextUtil(标示进入调用链入口) 流控规则(针对来源 ...
- mongo去重统计
表名:parkUserCost id: patkId: userId: phone: costVal: 适合特定条件下,对某些字段进行去重筛选.(比如限定抢购) 第一种,使用\(first操作符.\) ...
- 随机点名可视化界面,记录迟到人员,转exe文件
随机点名可视化界面,记录迟到人员,转exe文件 一.介绍 对于人员采取随机点名 二.代码 import datetime import random from tkinter import * fro ...
- Error:Failed to resolve: com.android.support:support-annotations:26.0.2
异常信息记录: Error:Failed to resolve: com.android.support:support-annotations:26.0.2 <a href="ins ...
- JAVA 使用 POI进行读取Excel表格示例
导包 编码 public class PoiTest { /** * 最终效果 * 表头一内容0 表头二内容1 表头三内容2 表头一内容1 表头二内容2 表头三内容3 表头一内容2 表头二内容3 表头 ...