入门级对数几率回归算法

本文介绍了对数几率回归算法的基本思想和MATLAB实现。通过对西瓜数据集的应用,展示了如何利用对数几率函数进行二分类问题的解决,强调了MATLAB中优化函数的高效性,提供了代码实现的详细步骤。
摘要由CSDN通过智能技术生成

入门级对数几率回归算法(matlab实现)

对数几率回归模型是处理分类问题的算法,常用于垃圾邮件分类,天气预测等,很多文献也将其称为“逻辑回归”。这里我采用西瓜书的西瓜数据集3.0a来进行分类。 这是一个二分类问题,其输出的标记y属于{0,1},而线性回归模型产生的预测值是实值,于是我们需要将实值转换为0/1值,最理想的是单位阶跃函数。但是单位阶跃函数不连续,因此不能直接使用它。于是我们希望找到在一定程度上近似单位阶跃函数的‘替代函数’,并希望它单调可微,对数几率函数(它是一种sigmoid函数)正是这样一个替代函数。
在这里插入图片描述
在这里插入图片描述

其大致图形如下:
在这里插入图片描述
他将z值转换为一个接近0或1的y值,并且在z=0附近变化很陡。

一、基本思想

![在这里插入图片描述](https://img-blog.csdnimg.cn/20201031113337337.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2JleW9uZDE5OTMy,size_16,color_FFFFFF,t_70#pic_center
这种分类学习方法直接对分类可能性进行建模,无需事先假设数据分布,避免了假设分布不准确带来的问题;
它能得到近似概率预测,这对需要利用概率辅助决策的任务很有用;
对率函数是任意阶可导的凸函数,有很好的数学性质,许多数值优化算法都可直接用于求解最优解。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以上就是对率回归的基本思想。
但是我们用matlab来实现的话就非常的简单,不用梯度下降法就能轻松的算出来,因为matlab当中有很多求解这样最优参数的函数。我们的目的就是求出满足(1.13)式的beta。将(1.13)写成具体的矩阵形式
在这里插入图片描述
我们现在需要注意的一个原则就是能用矩阵就不用了循环,因为循环非常耗费时间。然后我们用matlab的fminsearch函数就可以算出beta和b了。

二、代码实现

新建一个文件夹为对数几率,在这个文件夹下创建train.m

D={
   1,0.697,0.46,'是' %数据集为%编号 密度 含糖率 好瓜
2,0.774,0.376,'是'           % 1   0.697 0.463,0.634,0.264,'是'           % 2   0.774 0.3764,0.608,0.318,'是'
5,0.556,0.215,'是'
6,0.403,0.237
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值