博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
逻辑回归模型(LR)
阅读量:6442 次
发布时间:2019-06-23

本文共 1123 字,大约阅读时间需要 3 分钟。

一、LR概述

逻辑回归模型是一种分类模型,也是线性模型的一种。实质上是线性回归 + sigmod函数组成。

sigmod函数图像:

从图像中可以看出,sigmod函数将线性回归的输出映射到0~1之间。逻辑回归模型的意义旨在寻求一个判定边界θTX =0,将样本分为两类,θTX >0即为正例,θTX<0则为负例。

例如,一个线性的判定边界:

如果分类问题是线性不可分的, 我们也可以通过构造更复杂的h(θTX),可以得到非线性边界,例如:

所以我们发现,只要h(θTX)设计足够合理,参数足够复杂,就能在不同的情形下,拟合出不同的判定边界,从而把不同的样本点分隔开来。

二、逻辑回归模型训练

这里还是用我之前介绍SVM模型时候的3个step介绍LR。

Step1: Function Set(model):

LR的目标函数有特殊含义,代表了样本取正例时的概率

Step2: Loss Function:

逻辑回归的损失函数与线性回归不同,不采用线性回归的平方损失函数是因为该损失函数作用在逻辑回归的目标函数上的代价函数非凸,就无法采用梯度下降法训练。

LR采用cross entropy损失函数,这种损失函数更适合逻辑回归,是一个凸函数。

Step3: Gradient descent:

 采用梯度下降法更新参数。

偏导部分的数学推导如下:

所以参数的更新过程可以写为

 

实际上与线性回归的形式是相同的,只是model(h(x))的形式不太相同。

三、正则化 

基于逻辑回归训练损失函数训练出的模型,有些参数可能权值过高,有些参数可能权值过小,导致了过拟合,使得模型复杂度过高,泛化能力较差。

过拟合往往是由于过多的特征导致的。

解决方法:

1)减少特征数量(减少特征会失去一些信息,即使特征选的很好)

    • 可用人工选择要保留的特征;
    • 模型选择算法;

2)正则化(特征较多时比较有效)

保留所有特征,但减少θ的大小

常用的正则化方法是给损失函数加上一个惩罚项,例如L1范数、L2范数,这里以L2范数举例,在之前的文章中,已经详细的对比分析了L1、L2两种正则化方法。

加入L2范数的损失函数变为:

采用梯度下降法更新参数方法变为:

 可以看出在更新每个参数的时候,对每个参数进行了一定比例的缩减。进而使参数变小,模型变得简单

 

 

参考链接:

http://blog.csdn.net/han_xiaoyang/article/details/49123419
http://blog.csdn.net/pakko/article/details/37878837

 

 

 

转载于:https://www.cnblogs.com/kukri/p/8430816.html

你可能感兴趣的文章
tar,grep与正则表达式
查看>>
Solr-4.10.x 在Tomcat下的安装
查看>>
Unity3D学习资源:委托和lambda表达式一
查看>>
基础入门_Python-模块和包.运维开发中内建模块getopt的最佳实践?
查看>>
Python 小知识点
查看>>
我的友情链接
查看>>
oerr错误查询工作的使用与ora-56729错误的处理
查看>>
CentOS6.4 安装VirtualBox
查看>>
从30岁到35岁:为你的生命多积累一些厚度
查看>>
Java中集合与数组之间的转化
查看>>
JQUERY 获取span标签id中包含-btnInnerEl的所有项
查看>>
servlet初步认识
查看>>
linux服务器 磁盘和文件系统管理(二) LVM逻辑卷管理的基本操作
查看>>
软raid之详解
查看>>
优先级队列
查看>>
centos6.9安装confluence 6.5.0
查看>>
Python 中的 10 个常见安全漏洞,以及如何避免(上)
查看>>
11.互传文件、用户配置文件和密码配置文件、用户组及用户管理
查看>>
Dubbo源码解析 — 服务引用原理
查看>>
盘点2019年PHP高级开发工程师面试题及答案汇总
查看>>