logistic分类

简介: 1. logistic分类几乎所有的教材都是从logistic分类开始的,因为logistic分类实在太经典,而且是神经网络的基本组成部分,每个神经元(cell)都可以看做是进行了一次logistic分类。

1. logistic分类

几乎所有的教材都是从logistic分类开始的,因为logistic分类实在太经典,而且是神经网络的基本组成部分,每个神经元(cell)都可以看做是进行了一次logistic分类。

所谓logistic分类,顾名思义,逻辑分类,是一种二分类法,能将数据分成0和1两类。

logistic分类的流程比较简单,主要有线性求和,sigmoid函数激活,计算误差,修正参数这4个步骤。前两部用于判断,后两步用于修正。本文分为3部分,前2部分讲普通logistic分类的流程,第三部分则稍作扩展。

它的优点一是逻辑回归的算法已经比较成熟,预测较为准确;二是模型求出的系数易于理解,便于解释,不属于黑盒模型,尤其在银行业,80%的预测是使用逻辑回归;三是结果是概率值,可以做ranking model;四是训练快。当然它也有缺点,分类较多的y都不是很适用;对于自变量的多重共线性比较敏感,所以需要利用因子分析或聚类分析来选择代表性的自变量;另外预测结果呈现S型,两端概率变化小,中间概率变化大比较敏感,导致很多区间的变量的变化对目标概率的影响没有区分度,无法确定阈值。


 

1.1 线性求和以及sigmoid函数

第1,2步是用于根据输入来判断分类的,所以放在一起说。假设有一个n维的输入列向量 x,也有一个n维的参数列向量h, 还有一个偏置量b, 那么就可以线性求和得到z. 

                              

此时因为z的值域是[,+] ,是无法根据z来判断x 到底是属于0还是1的。因此我们需要一个函数,来将z的值映射到[0,1]之间, 这就是激活函数。激活函数有很多种,这里的激活函数是sigmoid函数。 

          

其形状为 

 

这里写图片描述 
图1 sigmoid函数


可以看到x越大,σ(x)越接近1,反之,则越接近0. 那么在判断的时候,我们首先对之前得到的z代入sigmoid函数 

                      
当 a 大于0.5的时候,我们判定x应属于1类,如果小于0.5,则属于0类。这样,就完成了判断的工作。

损失函数是在机器学习中最常出现的概念,用于衡量均方误差[(模型估计值-模型实际值)^2/ n]最小,即预测的准确性,因而需要损失函数最小,得到的参数才最优。(线性回归中的最小二乘估计也是由此而来)但因为逻辑回归的这种损失函数非凸,不能找到全局最低点。因此,需要采用另一种方式,将其转化为求最大似然,如下,具体的推导求解过程可参见博客http://blog.csdn.net/suipingsp/article/details/41822313 另一种较为好理解的方式是,如果Y=1,你胆敢给出一个h(x)很小的概率比如0.01,那么损失函数就会变得很大:

                                 

                         


 

1.2 误差计算以及参数修正

上面完成的判断过程中用到了参数向量h和偏置量b。 可以说,h和b的值直接关系到logistic判断的准确性。那么这两组参数是如何获得的呢?这就涉及到了参数的修正。在最开始的时候,h中的值是随机的,而b的值是0. 我们通过不断的训练来使得h和b能够尽可能的达到一个较优的值。

那么如何训练呢?假设我们期望输入x的判定是y,而实际得到的判定值是a,那么我们定义一个损失函数C(a,y),通过修正h和b的值来使得C最小化,这是一个优化问题。在凸优化问题中,可以通过 

 
                     

来直接算得h和b的最优解。然而在某些情况下,例如数据规模很大,或者非凸优化问题中,则不能这么做,而是用迭代的方法来得到局部最优解。 

                     


其中 η 表示学习率。在这里,我们把损失函数定为平方损失函数,即那么可以得到 

                    

这样,就能够得到每次迭代的参数更新公式为 

                    

 

1.3 将logistic扩展到多分类

从之前可以看出,普通的logistic只能进行二分类,即只能够分为0或者1。那么如果这些样本属于多个类该怎么办呢?人们想了很多办法,例如一对多法,依次把某个类别的样本归为一类,其他剩余的样本归为另一类,这样k个类需要构建k个分类器。还有一对一法,在任意两类样本之间设计一个分类器,k个类需要k(k-1)/2个分类器。

在这里,我们将输出由一个值更改为一个向量。例如有3个类,那么输出就是一个长度为3 的列向量,对应项的值为1,其他为0.即 

                        
分别表示第0,1,2个类。 也可以看成是原来若干个logistic分类器组合在一起。对应的某个分类器只对该类输出1,其他情况都输出0.从这一点上来讲,这个做法有点类似于一对多法。此时,由于输出从一个数成为一个向量,之前的公式都要加以修改。首先,原来的y,a,z,b变成了列向量, 向量h变成了矩阵W。这样,判断部分的公式变为 

                                

此时的σ函数表示对向量中的每一个元素单独做运算。即 

 
               

得到的a向量中,其最大值所在的位置索引即为判断出的分类。 
参数修正部分的公式也是类似的, 

                

注意有些向量之间是进行.

转自:http://blog.csdn.net/u014595019/article/details/52554582

当神已无能为力,那便是魔渡众生
目录
相关文章
|
29天前
|
人工智能 Linux API
OpenClaw 阿里云秒级部署保姆级教程:从0到1搭建7×24小时AI助手
2026年3月,OpenClaw(原Clawdbot)凭借其轻量化架构、丰富技能生态与大模型适配能力,成为个人与小型团队搭建AI助手的首选方案。阿里云提供专属应用镜像与一键部署能力,可实现“秒级上线”,搭配百炼Coding Plan免费大模型API,无需本地算力即可拥有7×24小时在线的AI智能体。本文提供从服务器选购、端口放行、一键部署、模型配置到本地MacOS/Linux/Windows11联动的全流程保姆级教程,所有命令可直接复制执行,无冗余步骤,零基础也能一次成功。
410 11
|
30天前
|
人工智能 弹性计算 关系型数据库
2026年阿里云优惠券领取地址、使用规则解读与使用教程参考
2026年阿里云推出涵盖AI焕新季上云礼包、165元满减券、学生无门槛300元优惠券、企业迁云补贴及出海扶持优惠券等多样化优惠。这些优惠券面向不同用户群体,包括个人开发者、企业用户及学生,提供差异化优惠额度与适用范围。用户可通过阿里云官网指定页面领取,并在有效期内用于预付费新购订单,需注意优惠券的有效期、使用范围、叠加规则及退款处理等细节。
|
3月前
|
弹性计算 Linux 网络安全
学习笔记:阿里云新手账号注册、实名认证、选购ECS云服务器、部署管理指南
阿里云ECS(弹性计算服务)是一种无需购买物理服务器即可使用计算资源的服务,让您像使用水电一样便捷获取服务器算力。本指南将详细拆解从账号注册到服务器管理的完整流程,帮助新手用户快速掌握云服务器使用技巧。
296 1
|
10天前
|
存储 关系型数据库 MySQL
【MySQL】MySQL安装图解 | MySQL8数据库下载配置一步到位指南(全网最详细)
MySQL是全球最流行的开源关系型数据库,以稳定高效、学习曲线平缓、文档丰富、完全免费著称,广泛应用于Web开发。本文详述MySQL 8.0.41下载、图形化安装(含路径/密码配置)、环境变量设置及验证方法,并解答端口占用、密码重置等常见问题,助力新手快速上手。(239字)
|
26天前
|
设计模式 存储 人工智能
HagiCode Skill 系统技术解析:如何打造可扩展的 AI 技能管理平台
HagiCode Skill 系统技术解析:如何打造可扩展的 AI 技能管理平台 本文深入解析 HagiCode 项目中 Skill(技能)管理系统的架构设计与实现方案,涵盖本地全局管理、市场搜索、智能推荐、授信提供者管理四大核心功能...
163 3
|
2月前
|
人工智能 前端开发 安全
一文讲解与Agent前端发展相关的几个阶段和协议
本文梳理了Agent前端协议从“胶水代码”到标准化的演进历程。解析了MCP、MCPApps、A2A、AG-UI及A2UI在能力、协作、通信与呈现架构中的核心作用。通过深度集成,前端正实现AI能力的富交互呈现,推动人机交互走向“可见、可控、可信”。
469 4
|
3月前
|
存储 NoSQL 测试技术
阿里云服务器ESSD AutoPL、ESSD和ESSD Entry云盘有什么区别?应该如何选择?
阿里云服务器ECS提供ESSD系列云盘,包括ESSD AutoPL、ESSD和ESSD Entry,均采用分布式三副本机制,确保99.9999999%的数据可靠性。ESSD云盘适合高性能生产环境,如大型数据库;ESSD Entry云盘则适合开发与测试等轻量场景,性价比高;ESSD AutoPL云盘性能灵活可调,适应业务波动大的场景。用户应根据业务需求、性能要求及成本预算选择合适的云盘类型。
|
4月前
|
消息中间件 Java 数据安全/隐私保护
RabbitMQ集群部署
本文介绍RabbitMQ集群部署,包括普通模式与高可用方案。首先通过Docker搭建三节点集群,配置Erlang Cookie和rabbitmq.conf实现节点通信;接着演示队列创建、数据共享及宕机测试,发现普通模式无高可用能力;进而引入镜像模式,通过策略设置实现队列多副本,支持主从切换;最后重点介绍3.8版本后推荐的仲裁队列,其具备自动选举、强一致性等优势,配置更简便,是实现高可用的首选方案。
RabbitMQ集群部署
|
4月前
|
存储 安全 JavaScript
Qt 6 实战:C++ 调用 QML 回调方法(异步场景完整实现)
本文详解 Qt 6 中 C++ 调用 QML 回调的完整实现,适用于登录、网络请求等异步场景。通过 `QJSValue` 传递回调函数,结合 `QtConcurrent` 异步处理与 `QMetaObject::invokeMethod` 线程切换,确保线程安全。涵盖单例注册、数据封装、错误处理及常见问题排查,助你掌握 C++ 与 QML 高效通信的核心技术。
470 4
|
存储 数据采集 数据安全/隐私保护
商汤、清华、复旦等开源百亿级多模态数据集,可训练类GPT-4o模型
商汤科技、清华大学和复旦大学等机构联合开源了名为OmniCorpus的多模态数据集,规模达百亿级,旨在支持类似GPT-4级别的大型多模态模型训练。该数据集包含86亿张图像和1696亿个文本标记,远超现有数据集规模并保持高质量,具备广泛来源和灵活性,可轻松转换为纯文本或图像-文本对。经验证,该数据集质量优良,有望促进多模态模型研究,但同时也面临存储管理、数据偏见及隐私保护等挑战。
732 61

热门文章

最新文章

下一篇
开通oss服务