Datawhale X 李宏毅苹果书 AI夏令营|机器学习基础之线性模型

news2024/9/24 11:33:20

1. 线性模型

线性模型是机器学习中最基础和常见的模型之一。在线性模型中,预测变量(输入特征)和目标变量(输出)之间的关系被建模为一个线性组合。数学形式可以表示为:

其中:x 是输入特征向量,w 是权重向量,b 是偏置项,y 是模型的输出。

  • 线性回归:线性回归是一种典型的线性模型,用于预测连续的数值型输出。它直接使用线性关系来进行预测,目标是找到一组权重 w 和偏置 b,使得模型的输出尽可能接近真实值。通常使用均方误差(MSE)作为损失函数,最小化预测值与真实值之间的差异。

  • 逻辑回归:逻辑回归是一种用于二分类问题的监督学习方法。虽然名字中有“回归”二字,但逻辑回归实际上用于分类任务,而不是预测连续值。尽管用于分类任务,但它仍然属于线性模型,因为它的核心也是基于输入特征的线性组合。逻辑回归模型的核心计算部分仍然是一个线性函数:

然而,逻辑回归需要将这个线性组合 z 通过一个 Sigmoid 激活函数 σ(z) 转化为一个概率值(被限制在0到1之间,表示样本属于某一类的概率),以便进行分类,(使用对数损失(log loss):

2. Sigmoid函数

当输入值非常大或非常小时,Sigmoid函数会将其压缩到接近 111 或 000 的值,这使得它能够表示一种“激活”或“非激活”的状态。表达式:

当输入值非常大或非常小时,Sigmoid函数会将其压缩到接近 111 或 000 的值,这使得它能够表示一种“激活”或“非激活”的状态。

当x和y的关系非常复杂时使用sigmoid函数来逼近hard sigmoid函数,Hard Sigmoid函数是一种分段线性近似的Sigmoid函数。

1 epoch = see all the batches once

3. 模型变形ReLU

ReLU函数在输入为负时输出为零,而在输入为正时输出为输入本身。非线性,计算简单,缓解梯度消失问题。2个ReLU可以变成一个hard sigmoid,表达式:

ReLU函数的输出要么是 b+wx_1的值,要么是0.

ReLU 或者Sigmoid函数称为 激活函数(activation function)

引入Sigmoid和ReLU等激活函数后,线性模型本身仍然是线性的,但通过在神经网络中使用这些激活函数,模型可以实现非线性映射,从而具备表示非线性关系的能力。

激活函数(如Sigmoid和ReLU)的引入打破了线性模型的局限性。激活函数在神经网络中的作用主要体现在以下几个方面:

  • 非线性映射:激活函数将线性模型的输出经过非线性变换,使得每一层的输出不再是输入的线性组合,而是经过非线性变换后的输出。这种非线性映射允许模型捕捉更复杂的关系。
  • 神经网络的多层结构:通过多层神经网络,每一层的线性组合再加上非线性激活函数,可以将输入数据映射到更高维的空间,从而逐层捕捉数据中的复杂模式。理论上,足够深的网络可以拟合任何复杂的函数关系。(深度学习)

4. 怎么理解sigmoid或者ReLU作为神经元(neuron)?

生物神经元的功能

在生物学中,神经元(或神经细胞)是大脑和神经系统的基本单元。每个神经元通过接收来自其他神经元的输入信号(通常是化学或电信号),在达到一定阈值后,产生并传递一个新的信号给下游的神经元。这一过程可以简化为三个步骤:

  • 接收输入信号:神经元从其他神经元接收信号。
  • 整合信息:神经元将这些输入信号整合,并判断是否超过某个激活阈值。
  • 输出信号:如果整合后的信号超过阈值,神经元将产生并传递一个新的信号。

人工神经元模型

人工神经元是神经网络的基本构建块,它模拟了生物神经元的上述行为。一个典型的人工神经元模型包括以下几个部分:

  • 输入:人工神经元接收多个输入,每个输入有对应的权重。
  • 加权求和:所有输入乘以各自的权重,并累加到一起,加上一个偏置(bias)。
  • 激活函数:将加权求和的结果传递给一个激活函数,决定该神经元是否“激活”,即输出什么样的值。

激活函数的作用

激活函数在人工神经元中的作用类似于生物神经元的“激活”机制。具体来说,激活函数的主要功能是:

  • 非线性映射:激活函数将输入的线性组合(加权求和)转化为非线性输出。这使得神经网络能够拟合和表达复杂的非线性关系,这在多层神经网络中尤其重要。
  • 决定输出信号:激活函数决定了人工神经元的输出值,类似于生物神经元的激活和抑制过程。例如,当使用Sigmoid函数时,输出值被限制在0到1之间,类似于神经元是否“发火”的概念;当使用ReLU函数时,负输入直接被抑制为零,只有正输入才会传递到下一层。

Sigmoid和ReLU作为神经元的具体表现

  • Sigmoid神经元:Sigmoid激活函数将输入压缩到0到1之间,可以被看作是神经元的激活概率。它类似于生物神经元的“全或无”法则——如果输入超过某个阈值,神经元激活并输出一个信号(接近1);否则,输出接近0。
  • ReLU神经元:ReLU函数在输入为正时直接输出该值,为负时输出0。这类似于生物神经元只对强烈的刺激做出反应,弱刺激(或负值)被忽略。在深度神经网络中,ReLU神经元因其简单且计算效率高而广泛使用。

5. 机器学习框架

  • 写出一个含有未知数 $\theta $的函数,$\theta $代表函数中所有的未知参数。
  • 定义损失,损失也是一个函数,输入就是一组参数,来判断这组参数是否能让模型变得更好
  • 解一个优化问题,找到一个$\theta $,能够让损失越小越好。

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

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

相关文章

加速 PyTorch 模型:使用 ROCm 在 AMD GPU 上应用 torch.compile

Accelerate PyTorch Models using torch.compile on AMD GPUs with ROCm — ROCm Blogs 介绍 PyTorch 2.0 引入了一个名为*torch.compile()*的工具,可以极大地加速 PyTorch 代码和模型。通过将 PyTorch 代码转换为高度优化的内核,torch.compile 在现有代…

【深入理解SpringCloud微服务】深入理解微服务配置中心原理,并手写一个微服务配置中心

【深入理解SpringCloud微服务】深入理解微服务配置中心原理,并手写一个微服务配置中心 为什么要使用配置中心配置中心原理如何手写一个配置中心使用PropertySourceLocator监听配置变更,刷新配置 实现一个微服务配置中心服务端库表ConfigCenterController…

全国中学基础信息 API 数据接口

全国中学基础信息 API 数据接口 基础数据,高校高考,提供全国初级高级中学基础数据,定时更新,多维度筛选。 1. 产品功能 2024 年数据已更新;提供最新全国中学学校基本信息;包含全国初级中学与高等中学&#…

JavaWeb:实验一JSP运行环境安装及配置

一、实验目的 1.掌握JSP程序运行环境配置的基本要求。 2.熟悉HTML的常用标签使用以及静态网页的制作。 二、实验性质 验证性实验 三、实验内容 制作一个静态网站的基本页面index.html,要求如下: 1&#xff…

SQL 语言简明入门:从历史到实践

SQL(Structured Query Language)是数据库领域的核心语言。自20世纪70年代中期由IBM公司开发以来,SQL已经成为全球最广泛使用的数据库管理语言。 本文将以简洁明了的方式为您介绍SQL的历史、基本结构、核心语言组成以及其独特的特点和书写规则…

【软件部署】JumpServer堡垒机搭建及使用

目录 一、linux服务器docker搭建 二、linux服务器单机部署 1.环境安装 2.安装数据库和Redis 3.下载linux安装包并部署 4.安装启动后命令 5.通过浏览器访问部署服务器的地址 三、JumpServer产品使用 1、添加系统用户 2、创建资产 3、将主机/资源进行授权给用户 4、登录…

Day 7:条件编译

GCC编译器 预处理阶段: 1.gcc - E 文件名 :预处理文件 2.gcc - o 文件名 :重命名 gcc -E gcc.c gcc-o gcc.i:生成预处理文件。 vi gcc.i: 作用:展开头文件,宏进行替换。 编译阶段: gcc -…

希尔排序的图解展示与实现

什么是希尔排序 对整个数组进行预排序,即分组排序:按间距为gap分为一组,分组进行插入排序。 预排序的作用与特点 大的数更快地到后面,小的数更快地到前面; gap越大,跳得越快,排完接近有序慢&…

数据结构与算法---排序算法

文章目录 排序选择排序冒泡排序插入排序 希尔排序归并排序快速排序桶排序计数排序基数排序堆排序 排序 排序是指将一组数据按照特定的规则或顺序进行排列,比如一个数组[1, 5, 2, 4, 3]按照从小到大的顺序排列后就是[1,2,3,4,5]。 排序算法(Sorting alg…

lay数据表格(table)的多选框限制单选

TOC lay数据表格(table)的多选框限制单选 使用layui弹窗显示表格数据提供选择,最初使用单选框,选中后无法取消勾选,后该成多选框限制成单选,可点击已勾选复选框实现取消功能。 PS:easyui数据表格提供简单实现 多选框…

有哪些数据分析类的软件可供参考?

对于数据分析师来说,掌握以下数据分析工具很有必要,一个好的数据分析工具,可以使得数据分析工作事半功倍,相对于整个数据分析学习流程来说,掌握数据分析工具是学习数据分析的关键。 日常数据分析中,有80%的…

【电力系统】使用电力系统稳定器 (PSS) 和静态 VAR 补偿器 (SVC) 提高瞬态稳定性

摘要 电力系统在面对故障和扰动时,其瞬态稳定性是确保系统安全运行的关键因素。本文探讨了通过使用电力系统稳定器(PSS)和静态VAR补偿器(SVC)来提高电力系统瞬态稳定性的策略。通过仿真分析,证明了PSS和SV…

折腾 Quickwit,Rust 编写的分布式搜索引擎 - 可观测性之分布式追踪

概述 分布式追踪是一种跟踪应用程序请求流经不同服务(如前端、后端、数据库等)的过程。它是一个强大的工具,可以帮助您了解应用程序的工作原理并调试性能问题。 Quickwit 是一个用于索引和搜索非结构化数据的云原生引擎,这使其非常适合用作追踪数据的后端…

提升农业信息化水平,C# ASP.NET Vue果树生长信息管理系统带来全新管理体验

🍊作者:计算机毕设匠心工作室 🍊简介:毕业后就一直专业从事计算机软件程序开发,至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长:按照需求定制化开发项目…

【算法每日一练及解题思路】找出模式匹配字符串的异位词在原始字符串中出现的索引下标

【算法每日一练及解题思路】找出模式匹配字符串的异位词在原始字符串中出现的索引下标 一、题目:找出模式匹配字符串的异位词在原始字符串中出现的索引下标 二、举例: 两个字符串原始字符串initStr123sf3rtfb,模式匹配字符串regxf3s,找到模…

【读书笔记-《30天自制操作系统》-12】Day13

本篇的内容仍然是定时器的相关讲解。上一篇内容中对于中断程序做了许多优化,但是这些优化到底起了多少作用呢?本篇用一种测试方法来进行测试。然后本篇继续引入链表与哨兵的概念,进一步加快超时的中断处理。 1. 主程序简化 开发过程到了这…

nacos获取服务实例流程

一、客户端获取服务实例流程(以dubbo为例) 1.dubbo元数据服务初始化需要订阅的服务列表 1.1.获取与当前服务相同分组和集群的NACOS的注册服务列表。 1.2 首先是从spring-cloud-common的通用注册中心中,使用组合注册客户端类获取服务,此组合会逐个调用注…

Linux awk案例

目录 1. 查询时间超过2000毫秒的请求2. 查询指定列组合出现的次数3. 统计所有文件的大小4. 获取大于指定大小的文件名,并按照从大到小排序5. grep指定字段后,使用awk列转行6. 查询第四个字段等于指定值的内容 1. 查询时间超过2000毫秒的请求 ✅log: 202…

SAST :静态应用程序安全测试

目录 什么是 SAST? 为什么我们需要 SAST? SAST 解决了哪些问题? SAST 如何工作? 揭秘 SAST、DAST、IAST 和 RASP SAST 和 DAST 有什么区别? 典型的 SAST 优势 下一代 SAST 的增强优势 SAST的优缺点 传统 SA…

LabVIEW呼吸机测试系统开发

基于LabVIEW的呼吸机测试系统借鉴了ASL5000的设计理念,能够精确监控和调整呼吸机的关键性能参数,如氧气浓度、压力和流量等,以确保其在临床应用中的安全性和有效性。通过图形化编程,系统实现了参数的实时自动化测试,显…