机器学习算法之 logistic、Softmax 回归
逻辑回归本质是分类问题,而且是二分类问题,不属于回归,但是为什么又叫回归呢。我们可以这样理解,逻辑回归就是用回归的办法来做分类。它是在线性回归的基础上,通过Sigmoid函数进行了非线性转换,从而具有更强的拟合能力
sigmoid 函数
https://blog.csdn.net/fenglepeng/article/details/104829873
Logistic回归分类器
为了实现Logistic回归分类器,我们可以在每个特征上都乘以一个回归系数,然后把所有的结果值相加,将这个总和代入Sigmoid函数中,进而得到一个范围在0~1之间的数值。任何大于0.5的数据被分入1类,小于0.5即被归入0类。所以,Logistic回归也可以被看成是一种概率估计。
所以说,Logistic回归分类器可以看成线性回归与sigmoid的混合函数,是一个二分类的模型(这里是取的0和1,有的算法是+1和-1)
在用于分类时,实际上是找一个阈值,大于阈值的属于1类别,小于的属于0类别。(阈值是可根据具体情况进行相应变动的)
Logistic回归及似然函数
我们假设
把两个式子结合起来
运用极大似然估计得到似然函数
累乘不好求,我们可以求其对数似然函数。最值的问题,求导(第三行到第四行使用了sigmoid函数求导)
求解,使用批量梯度下降法BGD
或者随机梯度下降法SGD
可以发现逻辑回归与线性回归梯度下降求解的形式类似,唯一的区别在于假设函数hθ(x)不同,线性回归假设函数为θTx,逻辑回归假设函数为Sigmoid函数。
线性回归模型服从正态分布,逻辑回归模型服从二项分布(Bernoulli分布),因此逻辑回归不能应用最小二乘法作为目标/损失函数,所以用梯度下降法。
极大似然估计与Logistic回归损失函数
我们要让对数似然函数最大,也就是他的相反数 最小。而 最小化,则可以看成损失函数,求其最小化:
似然函数:
logistic函数
带入得
这个结果就是交叉熵损失函数。
总结
就一句话:通过以上过程,会发现逻辑回归的求解,跟线性回归的求解基本相同。
多分类问题(Multi-class classification)
对于分类多于2个的问题, 可以将其看做二分类问题,即以其中一个分类作为一类,剩下的其他分类作为另一类,多分类问题的假设函数为
Softmax回归模型
Softmax回归是logistic回归的一般化模型,适用于k(k>2)分类的问题,第k类的参数为向量,组成的二维矩阵为(k为类别数,n为特征数,即为每一个类别构建一个,用到的是ova思想)。
Softmax函数的本质就是将一个k维的任意实数向量映射成为另一个k维的实数向量,其中向量中的每个元素的取值都介于(0,1)之间。
注释: 计算的是,他属于第k类的回归值,计算的是他属于每个类别的累加,用e的指数是为了加大 大的类别的影响
推导和Logistic回归类似,只是将分类的个数从2扩展到k的情形。Softmax算法的损失函数:
- 线性回归模型一般用于回归问题,逻辑回归和Softmax回归模型一般用于分类问题;
- 求θ的主要方式是梯度下降算法,该算法是参数优化的重要手段,主要使用SGD或MBGD;
- 逻辑回归/Softmax回归模型是实际问题中解决分类问题的最重要的方法;
- 广义线性模型对样本的要求不必一定要服从正态分布,只要服从指数分布簇(二项分布、Poisson分布、Bernoulli分布、指数分布等)即可;广义线性模型的自变量可以是连续的也可以是离散的。
机器学习算法之 logistic、Softmax 回归相关推荐
- 【机器学习基础】数学推导+纯Python实现机器学习算法13:Lasso回归
Python机器学习算法实现 Author:louwill 第13讲和第14讲我们来关注一下回归模型的两个变种模型.本节我们要介绍的是基于L1正则化的Lasso模型,下一节介绍基于L2正则化的Ridg ...
- 【机器学习算法】Logistic回归分类算法
文章目录 一.Logistic回归 1. 分类问题 2. Logistic函数 (1) 阶跃函数(不可导) (2)可导的阶跃函数 二.Logistic回归的算法原理 1. 基本思路 2. 数学解析 ( ...
- 【机器学习基础】数学推导+纯Python实现机器学习算法2:逻辑回归
自本系列第一讲推出以来,得到了不少同学的反响和赞成,也有同学留言说最好能把数学推导部分写的详细点,笔者只能说尽力,因为打公式实在是太浪费时间了..本节要和大家一起学习的是逻辑(logistic)回归模 ...
- python 怎么算l2范数_数学推导+纯Python实现机器学习算法13:Lasso回归
版权说明:本公号转载文章旨在学习交流,不用于任何商业用途,版权归原作者所有,如有异议,敬请后台联络我们,议定合作或删除,我们将第一时间按版权法规定妥善处理,非常感谢! Python机器学习算法实现 A ...
- 机器学习概念总结笔记(一)——机器学习算法分类、最小二乘回归、岭回归、LASSO回归
原文:https://cloud.tencent.com/community/article/137341 机器学习概念总结 1,机器学习算法分类 1)监督学习: 有train set,train s ...
- 【机器学习基础】数学推导+纯Python实现机器学习算法14:Ridge岭回归
Python机器学习算法实现 Author:louwill 上一节我们讲到预防过拟合方法的Lasso回归模型,也就是基于L1正则化的线性回归.本讲我们继续来看基于L2正则化的线性回归模型. L2正则化 ...
- 选取最优模型--scikit-learn的Python中抽查回归机器学习算法
抽查是一种发现哪种算法在机器学习问题上表现良好的方法. 无法事先知道哪种算法是最适合的,必须尝试多种方法并将注意力集中在那些证明最有效果的方法上. ------------------- 概述 本文将 ...
- 机器学习算法——集成方法(Ensemble)之Stacking
本文是基于<kaggle比赛集成指南>来进行总结的概述什么是集成学习,以及目前较为常用的技术.这里主讲的集成学习技术用于分类任务,关于回归和预测这块不太了解,读者可自行查询相应博客或者论文 ...
- 成为顶尖机器学习算法专家需要知道哪些算法?
2019独角兽企业重金招聘Python工程师标准>>> 成为顶尖机器学习算法专家需要知道哪些算法? 摘要:顶尖的机器学习专家需要的算法,要不要? 机器学习算法简介 有两种方法可以对你 ...
最新文章
- 【Android 应用开发】 Application 使用分析
- python 如何生成特定间隔数列?range()、numpy.arange()
- 校园技术工坊丨云开发校园执行官招募开启!
- C语言ASM汇编内嵌语法zz
- 年轻人应该买房还是租房,我给你理性分析
- vlc-android编译流程
- 活到老,学到老!各大厂数据库技术解决方案来了
- 披着 Chromium 皮的微软 Edge 浏览器到底长什么样?
- Python测试Kafka集群(pykafka)
- IntelliJ IDEA开发Java笔记
- 番茄助手Visual Assistx报错The security key for this program currently。。
- 死链接检测 java,【死链接检测】工具查询方法及死链接处理方法
- 涛思数据库(二)——上手使用
- java 异常 中英文_Java异常与错误处理中英文翻译.doc
- miRNA数据库篇——miRDB:软件预测的哺乳动物miRNA靶基因数据库(假阳性较高)
- Jenkins查看凭据的密码
- 一台计算机连接两个投影,事实:如何将两个外接显示器连接到笔记本电脑以同时实现三个屏幕?...
- probably,possibly,may的用法区别是什么呀
- matlab error 15,为什么我遇到了“License Manager Error -15”的错误?
- Mac OS X 系统更新升级包下载后的存储位置
热门文章
- 不朽传奇-云计算技术背后的那些天才程序员:Qemu的作者法布里斯贝拉
- 超简单:解析 yml 类型(application.yml)配置文件 、springboot 工程读取 yml 文件中的值
- 深入浅出 消息队列 ActiveMQ
- 地址解析协议 (ARP) 是什么
- Docker 容器 和 虚拟机 的异同
- Eclipse断点调试出现Source not found
- Shell编程入门基础上
- MYSQL安装报错 -- 出现Failed to find valid data directory.
- 牛客网——最简真分数
- leetcode add Two Numbers