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

本文主要是介绍Datawhale X 李宏毅苹果书 AI夏令营|机器学习基础之线性模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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 $,能够让损失越小越好。

这篇关于Datawhale X 李宏毅苹果书 AI夏令营|机器学习基础之线性模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

C#基础之委托详解(Delegate)

《C#基础之委托详解(Delegate)》:本文主要介绍C#基础之委托(Delegate),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 委托定义2. 委托实例化3. 多播委托(Multicast Delegates)4. 委托的用途事件处理回调函数LINQ

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Spring AI ectorStore的使用流程

《SpringAIectorStore的使用流程》SpringAI中的VectorStore是一种用于存储和检索高维向量数据的数据库或存储解决方案,它在AI应用中发挥着至关重要的作用,本文给大家介... 目录一、VectorStore的基本概念二、VectorStore的核心接口三、VectorStore的

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2

Spring AI集成DeepSeek实现流式输出的操作方法

《SpringAI集成DeepSeek实现流式输出的操作方法》本文介绍了如何在SpringBoot中使用Sse(Server-SentEvents)技术实现流式输出,后端使用SpringMVC中的S... 目录一、后端代码二、前端代码三、运行项目小天有话说题外话参考资料前面一篇文章我们实现了《Spring

Spring AI与DeepSeek实战一之快速打造智能对话应用

《SpringAI与DeepSeek实战一之快速打造智能对话应用》本文详细介绍了如何通过SpringAI框架集成DeepSeek大模型,实现普通对话和流式对话功能,步骤包括申请API-KEY、项目搭... 目录一、概述二、申请DeepSeek的API-KEY三、项目搭建3.1. 开发环境要求3.2. mav

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot