【感知机】感知机(perceptron)学习算法的原始形式

感知机( perceptron )是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1 和-1二值。感知机对应输入空间(特征空间)中将实例划分为正负两类的分离超平面,是一种判别模型。感知机是神经网络与支持向量机的基础

感知机学习旨在求出将训练数据进行线性划分的分离超平面。

感知机学习思路:

1.导入基于误分类的损失函数

2.利用梯度下降法对损失函数进行极小化

3.代入参数得到感知机模型。

感知机学习算法分类:

原始形式、对偶形式。

 算法:感知机学习算法的原始形式

输入:训练数据集$T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\}$,其中x_i\in\mathcal{X}=\mathbb{R}^n,y_i\in\mathcal{Y}=\{-1,+1\}\:i=1,2,\cdots,N;学习率$\eta\left(0<\eta\leqslant1\right)$

输出:w,b;感知机模型f(x)=\mathrm{sign}(w\bullet x+b)

1)选取初值w_0,b_0;

2)在训练集中选取数据(x_i,y_i);

3)如果y_i(w\cdot x_i+b)\leq 0,

\begin{aligned}w&\leftarrow w+\eta y_ix_i\\b&\leftarrow b+\eta y_i\end{aligned}

4)转至2),直至训练集中没有误分类点。

算法采用随机梯度下降法(stochastic gradient descent):

首先任意选取一个超平面,然后用梯度下降法极小化损失函数。极小化过程不是一次使所有误分类点的梯度下降,而是每次随机选取一个误分类点使其梯度下降。

设误分类点集合M固定,损失函数L(w,b)=- \underset{x_i\in M}{\sum } y_i (w\cdot x_i+b )的梯度为:

\bigtriangledown_wL(w,b)=-\underset{x_1\in M}{\sum}y_ix_i

\bigtriangledown_bL(w,b)=-\underset{x_1\in M}{\sum}y_i

对某点(x_i,y_i)w的梯度-y_ix_i是增大的方向,故w\leftarrow w+\eta y_ix_i使损失函数减少。

算法理解:当一个实例点被误分类时,则调整w,b的值,使分类超平面向该误分类点的一侧移动,减少该误分类点与超平面的距离,直至超平面越过该误分类点使其被正确分类 

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

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

相关文章

在Golang中如何配置WebSocket以使用wss

在Golang中配置WebSocket以使用wss&#xff08;WebSocket over TLS&#xff09;需要使用TLS&#xff08;Transport Layer Security&#xff09;来加密WebSocket连接。以下是一个简单的示例代码&#xff0c;演示了如何在Golang中配置WebSocket以使用wss&#xff1a; package ma…

C#_var

文章目录 一、前言二、隐式类型的局部变量2.1 var和匿名类型2.2 批注 三、总结 一、前言 C#中有一个 var 类型&#xff0c;不管什么类型的变量&#xff0c;都可以用它接收&#xff0c;实属懒人最爱了。 我没有了解过它的底层&#xff0c;甚至没看过它的说明文档&#xff0c;也…

大创项目推荐 深度学习动物识别 - 卷积神经网络 机器视觉 图像识别

文章目录 0 前言1 背景2 算法原理2.1 动物识别方法概况2.2 常用的网络模型2.2.1 B-CNN2.2.2 SSD 3 SSD动物目标检测流程4 实现效果5 部分相关代码5.1 数据预处理5.2 构建卷积神经网络5.3 tensorflow计算图可视化5.4 网络模型训练5.5 对猫狗图像进行2分类 6 最后 0 前言 &#…

Windows10系统打开管理员命令提示符的六种

在Windows10系统的运行过程中&#xff0c;我们常常需要打开管理员命令提示符&#xff0c;打开Windows10系统管理员命令提示符的方法很多&#xff0c;下面总结一下打开Windows10系统管理员命令提示符的方法。 工具/原料 硬件&#xff1a;电脑 操作系统&#xff1a;Windows10 …

.NET国产化改造探索(一)、VMware安装银河麒麟

随着时代的发展以及近年来信创工作和…废话就不多说了&#xff0c;这个系列就是为.NET遇到国产化需求的一个闭坑系列。接下来&#xff0c;看操作。 安装银河麒麟 麒麟系统分银河麒麟和中标麒麟&#xff0c;我选择的是银河麒麟服务器版的&#xff0c;关于如何下载&#xff0c;…

传统企业数字化转型怎么做?建议掌握这“5要素,7步骤,12维度”

关于“传统企业数字化转型”的文章&#xff0c;我看过很多&#xff0c;但大多数的内容都比较虚幻&#xff0c;无法落地执行~ 基于此&#xff0c;下面我来给出具体的一些建议&#xff0c;供大家参考&#xff01; 一、传统企业数字化转型5要素 人、数据、洞察力、行动和结果。这…

Spring ApplicationEvent事件处理

Spring的事件 ApplicationEvent以及Listener是Spring为我们提供的一个事件监听、订阅的实现&#xff0c;内部实现原理是观察者设计模式&#xff0c;设计初衷也是为了系统业务逻辑之间的解耦&#xff0c;提高可扩展性以及可维护性。 ApplicationEvent就是Spring的事件接口Applic…

C# 中包含反斜线 \ 的字符串处理

在 C# 中&#xff0c;当您定义包含反斜线 \ 的文件路径字符串时&#xff0c;需要注意反斜线在字符串中通常用作转义字符的起始符。要在字符串中表示一个实际的反斜线字符&#xff0c;您有两个选择&#xff1a; 双反斜线&#xff1a;使用两个连续的反斜线 \\ 来表示一个实际的反…

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK实现相机掉线自动重连(C#)

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK实现相机掉线自动重连&#xff08;C#&#xff09; Baumer工业相机Baumer工业相机的掉线自动重连的技术背景通过PnP事件函数检查Baumer工业相机是否掉线在NEOAPI SDK里实现相机掉线重连方法&#xff1a;工业相机掉线重连测试演示图…

Linux tar 命令

Linux tar&#xff08;英文全拼&#xff1a;tape archive &#xff09;命令用于备份文件。 tar 是用来建立&#xff0c;还原备份文件的工具程序&#xff0c;它可以加入&#xff0c;解开备份文件内的文件。 语法 tar [-ABcdgGhiklmMoOpPrRsStuUvwWxzZ][-b <区块数目>][…

Linux文件和目录管理命令---- head 命令

head 命令是 Linux 和类 Unix 系统中常用的文本处理工具,主要用于显示文件的开头部分内容。以下是 head 命令的主要参数和一些常用的使用方法: 1. 基本用法 命令: head [文件]用途: 显示指定文件的前10行内容。示例:[root@localhost ~]# head /etc/passwd root:x:0:0:root:/…

以角色为基础的软件开发团队建设

角色抽象作为一种载体&#xff0c;可以很好地进行软件工程知识体系和企业知识地图的组织&#xff0c;满足企业知识体系持续改进的需要&#xff0c;因此角色团队组建和建设也可以作为软件工程实施方法之一。 软件开发项目立项时&#xff0c;重要工作之一就是开发团队的组建&…

AI计算,为什么要用GPU?

今天这篇文章&#xff0c;我们继续来聊聊芯片。 在之前的文章里&#xff0c;小枣君说过&#xff0c;行业里通常会把半导体芯片分为数字芯片和模拟芯片。其中&#xff0c;数字芯片的市场规模占比较大&#xff0c;达到70%左右。 数字芯片&#xff0c;还可以进一步细分&#xff0…

LeetCode——栈

栈 特点&#xff1a; 先进后出&#xff0c;后进先出 适合&#xff1a; 相当于一个暂存的地方&#xff0c;方便回来找 特&#xff1a; 单调栈——需要找到左边或者右边第一个比当前位置数大或者小的数字 数据类型 LinkedList<T> stack new LinkedList<>(); ad…

ECharts配置个性化图表:圆环、立体柱状图

官网调试地址&#xff1a;调试 效果图&#xff1a; 配置&#xff1a; option {color: [#29BEFF, #A2DC00, #FFC400, #FF7F5C, #CA99FC],// 提示窗tooltip: {trigger: item,show: false},// 图例legend: {top: 5%,left: center,show: false},// 数据series: [{name: Access …

C++常用遍历算法---for_each、transform

C常用遍历算法—for_each、transform 1、for_each—遍历容器 1.1 内置数据类型 void print1(int num) {cout << "这个数字是&#xff1a;" << num << endl; }void test1() {vector<int> numList;for (int i 0; i < 10; i){numList.pu…

LM393典型应用Multisim仿真设计

一、LM393简介: LM393是由两个独立的、高精度电压比较器组成的IC。LM393失调电压低,最大为2.0mv。可以是单电源供电,也可以是双电源供电,供电电压范围比较宽,电源功耗比较低。 LM393主要应用于限幅器、简单的模数转换器、脉冲发生器、方波发生器、延时发生器、宽频…

微同城生活源码系统:专业搭建本地生活服务平台 附带完整的安装部署教程

随着移动互联网的普及&#xff0c;人们越来越依赖手机进行日常生活中的各种活动&#xff0c;包括购物、餐饮、娱乐等。而传统的本地生活服务平台往往存在着功能单一、用户体验差等问题&#xff0c;无法满足用户日益增长的需求。因此&#xff0c;开发一款功能强大、易用性强的本…

获取 Linux 系统中所有网络命名空间的路由表

获取 Linux 系统中所有网络命名空间的路由表 以下是一个获取 Linux 系统中所有网络命名空间的路由表的 Bash 脚本示例&#xff1a; #!/bin/bash# 获取当前系统中所有网络命名空间的列表 ns_list$(ip netns list | awk {print $1})# 循环遍历每个网络命名空间 for ns in $ns_l…

css文本溢出处理——单行、多行

日常开发中&#xff0c;经常会遇到需要展示的文本过长&#xff0c;这种情况下&#xff0c;为了提高用户的使用体验&#xff0c;最常见的处理方式就是把溢出的文本显示成省略号。 处理文本的溢出的方式&#xff1a;1&#xff09;单行文本溢出&#xff1b; 2&#xff09;多行文本…