感知机原理

news/2025/2/6 15:37:45 标签: 算法, 机器学习

        感知机可以说是最古老的分类方法之一了,在1957年就已经提出。今天看来它的分类模型在大多数时候泛化能力不强,但是它的原理却值得好好研究。因为研究透了感知机模型,学习支持向量机的话会降低不少难度。

机器学习中,泛化(Generalization) 指的是模型对新数据的适应能力,即模型在训练数据上学到的规律能否很好地应用到未见过的测试数据上。

泛化的具体含义

  • 如果一个模型泛化能力强,说明它不仅能很好地拟合训练数据,还能对新数据做出准确的预测。
  • 如果一个模型泛化能力弱,它可能在训练数据上表现很好,但在测试数据上表现很差,通常是过拟合的表现。

1. 感知机模型

        感知机的思想很简单,比如我们在一个平台上有很多的男孩女孩,感知机的模型就是尝试找到一条直线,能够把所有的男孩和女孩隔离开。放到三维空间或者更高维的空间,感知机的模型就是尝试找到一个超平面,能够把所有的二元类别隔离开。

        当然你会问,如果我们找不到这么一条直线的话怎么办?找不到的话那就意味着类别线性不可分,也就意味着感知机模型不适合你的数据的分类。

        使用感知机一个最大的前提,就是数据是线性可分的。这严重限制了感知机的使用场景。

2. 损失函数

        其中M是所有误分类的点的集合。这个损失函数可以用梯度下降法或者拟牛顿法来解决,常用的是梯度下降法。

        但是用普通的基于所有样本的梯度和的均值的批量梯度下降法(BGD)是行不通的,原因在于我们的损失函数里面有限定,只有误分类的M集合里面的样本才能参与损失函数的优化。所以我们不能用最普通的批量梯度下降,只能采用随机梯度下降(SGD)或者小批量梯度下降(MBGD)

        感知机模型选择的是采用随机梯度下降,这意味着我们每次仅仅需要使用一个误分类的点来更新梯度。


http://www.niftyadmin.cn/n/5843141.html

相关文章

AI开发模式:ideal或vscode + 插件continue+DeepSeek R1

如何在 VSCode 中结合插件 Continue 和 DeepSeek 构建智能货柜AI开发环境的详细指南,涵盖环境配置、算法开发与模型优化全流程: 1. 环境搭建与工具选型 核心工具 工具/插件用途推荐配置VSCode主开发环境,支持多语言与插件扩展安装Python/C++/CUDA扩展ContinueAI代码助手(类…

开发板上Qt运行的环境变量的三条设置语句的详解

在终端中运行下面三句命令用于配置开发板上Qt运行的环境变量: export QT_QPA_GENERIC_PLUGINStslib:/dev/input/event1 export QT_QPA_PLATFORMlinuxfb:fb/dev/fb0 export QT_QPA_FONTDIR/usr/lib/fonts/设置成功后可以用下面的语句检查设置成功没有 echo $QT_QPA…

ES6 字符串、数值、数组扩展使用总结

1. 字符串的扩展方法 1.1 includes() // 判断字符串是否包含指定字符串 const str Hello World; console.log(str.includes(Hello)); // true console.log(str.includes(hello)); // false console.log(str.includes(World, 6)); // true - 从位置6开始搜索// 实际应用 func…

基础相对薄弱怎么考研

复习总体规划 明确目标 选择专业和院校:根据你的兴趣、职业规划和自身实力,选择适合自己的专业和院校。可以参考往年的分数线、报录比、复试难度等。了解考试科目:不同专业考试科目不同,一般包括: 公共课&#xff1a…

java 日常下拉框接口字典封装

Operation(description "字典") GetMapping("/dict") public Result dict() {Long userItemId super.getUserItemId();Page<Manure> objectPage new Page<>();objectPage.setSize(100000);objectPage.setCurrent(1);Page<Manure> pag…

MacBook Pro(M1芯片)DeepSeek R1 本地大模型环境搭建

MacBook Pro&#xff08;M1芯片&#xff09;DeepSeek R1 本地大模型环境搭建 这一阵子deepseek真的是太火了&#xff0c;这不&#xff0c;R1出来后更是掀起AI的狂欢&#xff0c;作为一个AI的外行人&#xff0c;也是忍不住想要拿过来感受一番&#xff5e;&#xff5e; 主要呢&…

Java进阶14 TCP日志枚举

Java进阶14 TCP&日志&枚举 一、网络编程TCP Java对基于TCP协议得网络提供了良好的封装&#xff0c;使用Socket对象来代表两端的通信端口&#xff0c;并通过Socket产生IO流来进行网络通信。 1、TCP协议发数据 1.1 构造方法 方法 说明 Socket(InetAddress address…

微前端如何实现作用域隔离

微前端是一种架构风格,它将前端应用拆分为多个独立的子应用,使得各个子应用可以独立开发、部署和维护。在微前端架构中,作用域隔离是一个关键问题,确保不同子应用之间的样式、脚本和状态不会冲突。本文将讨论几种实现作用域隔离的方法。 1. CSS 作用域隔离 1.1 CSS Modul…