经典机器学习法---感知模型机

优质博文:IT-BLOG-CN

1、模型形式

感知机模型主要用于解决二分类问题,即响应变量Y是个二分类变量(如性别)。其基本思想是拟找出一个超平面S,将样本空间中的训练集分为两个部分,使得位于超平面S合一侧的点具有相合的Y值。

模型的具体形式如下:在这里插入图片描述
其中sign(.)为符号函数:在这里插入图片描述
该模型本质上和统计学中的线性模型类似,只不过我们通常用线性模型解决回归问题(即响应变量Y为连续变量),用广义线性模型(GLM,如Logistic模型)解决分类问题。
显然运用感知机模型的前提是训练样本空间是线性可分的:即存在某个超平面S可以将训练样本空间中的两类样本点完全正确地划分到S的两侧。

也说明了在后面运用梯度下降法求最优参数时,一旦当前参数满足这个前提条件就可以停止对参数的更新迭代了。

2、损失函数

给出模型的具体形式后,为了求最优参数还需设定相应的损失函数。分类问题中损失函数的一个自然选择是误分类点的总数,但是考虑到这样的损失函数对于参数w,b而言并非是个连续可导函数,而针对某个误分类点有:

该指标被称为函数距离(函数间隔),显然所有误分类点的函数距离和在一定程度上可以反映出模型分类效果的好坏(越小模型越好)。因此定义感知机模型的损失函数为:

其中M表示在当前超平面S下被误分类的点集合。

3、模型求解

这里采用梯度下降法Gradient descent求解感知机模型中的最优参数。对损失函数L求导得到梯度向量:在这里插入图片描述

接着采用随机梯度下降法,给定学习率k后,在误分类点集M中随机抽取一个点对参数进行更新:在这里插入图片描述

需要注意的是,使用上述损失函数的感知机模型如果采用不同的参数初始值或选取不合的误分类点就会得到不合的参数最优解(存在不止一个超平面S可以完全正确划分训练样本空间)。
综上所述,下面给出感知机模型的具体算法步骤:
输入:训练数据集T,学习率k
输出:wb以及模型y=wx+b
(1)选取初始化参数w0b0
(2)遍历训练集中的数据(x0,y0)
(3)如果yi(wxi+b)<0,则对当前参参数进行整:在这里插入图片描述

跳转至(2),直至训练集中没有误分类点停止迭代并输出当前参数w,b

上述算法中的一些细节步骤还是与之前理论部分有差别:比如理论中的随机梯度下降法是使用一个随机误分类点进行优化参数,这就要求每次迭代前都要找出当前参数下的误分类点集,然后在这些点中随机抽取一个样本点更新参数。但在上述的算法中把查找误分类点和跟新参数合步进行,即在遍历训练集时每找到一个误分类点就马上利用该点更新参数。这么做的原因在于:一方面如果采取先找误分类点集再随机抽取的方式,查找那些未参与参数更新时的误分类点所耗的时间白白浪费;另一方面边遍历边更新参数的做法可以保证在给定训练样本和参数初始值的情况下,输出的解唯一。

除了上述的算法,感知机模型还有一个对偶形式的算法,可以参考李航老师的《统计学习方法》。

4、代码实现

下面给出一个有关感知机例子的python代码,主要使用numpy库和pandas库。以鸢尾花数据前100行观测作为样本空间。(数据来源参考了https://www.cnblogs.com/scikit-learn/p/6973497.html

取第 1列和第3列构造一个二维特征变量X,取第5列作为响应变量Y
在这里插入图片描述

数据的具体形式如下:
在这里插入图片描述

还要写一个在当前参数下判断是否为误分类点的函数cal()
在这里插入图片描述

以及一个用于更新参数的函数update()
在这里插入图片描述

最后通过样本数据集计算感知机模型的参数:
在这里插入图片描述

最织得到如下结果:
在这里插入图片描述

对应的感知机模型为:在这里插入图片描述

然后将散样本点投影至Y=0平面,并画出超平面不Y=0平面的交线,使结果更加直观:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/661668.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 与 TensorFlow2 生成式 AI(三)

原文&#xff1a;zh.annas-archive.org/md5/d06d282ea0d9c23c57f0ce31225acf76 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 第七章&#xff1a;使用 GAN 进行风格转移 神经网络在涉及分析和语言技能的各种任务中正在取得进步。创造力是人类一直占有优势的领域&…

曹操出行冲刺港交所上市:2023年收入突破100亿元,规模效应显现

近日&#xff0c;曹操出行有限公司&#xff08;下称“曹操出行”&#xff09;向港交所递交上市申请&#xff0c;华泰国际、农银国际、广发证券&#xff08;香港&#xff09;担任其联席保荐人。 据招股书介绍&#xff0c;曹操出行由吉利控股集团于2015年孵化成立&#xff0c;使…

第三方软件测评费的取费标准

随着信息技术的快速发展&#xff0c;软件产品在各行各业的应用越来越广泛&#xff0c;而软件的质量直接关系到用户的使用体验和企业的业务运行。为了确保软件的质量和性能&#xff0c;第三方软件测评服务应运而生。那么&#xff0c;第三方软件测评费的取费标准是怎样的呢&#…

内网端口转发与代理

思路&#xff1a;渗透的前提是双方能够建立通信。目前无法和win7建立通信&#xff0c;但是拿到了windows2003的权限&#xff0c;所以可以在Windows2003主机上面建立节点&#xff0c;作为跳板机去访问到内网。 目前状态&#xff1a;控制win2003&#xff08;IP&#xff1a;192.1…

7 -- 异常

目录 异常机制 Error与Exception 什么是异常 异常体系结构 Error Exception 捕获和抛出异常 自定义异常及经验小结 异常机制 Java的异常机制主要依赖于try、catch和finally块来处理程序执行过程中出现的异常事件。 解决方案&#xff1a; 使用try块捕获可能发生异常的…

[华为OD] C卷 5G网络 现需要在某城市进行5G网络建设,已经选取N个地点设置5G基站 200

题目 现需要在某城市进行5G网络建设&#xff0c;已经选取N个地点设置5G基站&#xff0c;编号固定为1到N,接 下来需要各个基站之间使用光纤进行连接以确保基站能互联互通&#xff0c;不同基站之间架设光纤的成 本各不相同&#xff0c;且有些节点之间已经存在光纤相连&#…

第11章 数据库技术(第一部分)

一、数据库技术术语 &#xff08;一&#xff09;术语 1、数据 数据描述事物的符号描述一个对象所用的标识&#xff0c;可以文字、图形、图像、语言等等 2、信息 现实世界对事物状态变化的反馈。可感知、可存储、可加工、可再生。数据是信息的表现形式和载体&#xff0c;信…

微搭低代码入门01微搭底层能力介绍

目录 1 什么是应用2 有服务器和无服务器3 关系型数据库和文档型数据库4 云存储5 云函数6 静态网站托管总结 日常经常解答初学者的问题&#xff0c;问的最多的就是学习微搭&#xff0c;需要多久&#xff0c;要不要学习代码。有的初学者心比较急躁&#xff0c;总是希望一蹴而就&a…

ORACLE 性能优化 高水位调节

当我需要去做优化时,有一个固定的优化思路:SQL优化->索引优化->分区优化->优化器hints优化 SQL 语句优化 1. 选用适合的 ORACLE 优化器 ORACLE 的优化器共有 3 种 : a. RULE ( 基于规则 ) b. COST ( 基于成本 ) c. CHOOSE ( 选 择性) 设置缺省的优化器, 可以通…

ps科研常用操作,制作模式图 扣取想要的内容元素photoshop

复制想要copy的图片&#xff0c; 打开ps---file-----new &#xff0c;ctrolv粘贴图片进入ps 选择魔棒工具&#xff0c;点击想要去除的白色区域 然后&#xff0c;cotrol shift i&#xff0c;反选&#xff0c; ctrol shiftj复制&#xff0c;复制成功之后&#xff0c;一定要改…

Java | Leetcode Java题解之第59题螺旋矩阵II

题目&#xff1a; 题解&#xff1a; class Solution {public int[][] generateMatrix(int n) {int num 1;int[][] matrix new int[n][n];int left 0, right n - 1, top 0, bottom n - 1;while (left < right && top < bottom) {for (int column left; co…

VMware虚拟机安装Linux(CentOS)【超详细】

参考大佬文章&#xff1a;VMware虚拟机安装Linux教程(超详细)_vmware安装linux虚拟机-CSDN博客 目录 一、获取映射文件 二、新建虚拟机 三、安装操作系统 四、切换系统用户 一、获取映射文件 参考大佬文章获取映射文件&#xff0c;以及对应修改后缀名的方法 二、新建虚拟…