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

相关文章

Android Mainline基础简介

《AndroidMainline基础简介》AndroidMainline是通过模块化更新Android核心组件的框架,可能提高安全性,本文给大家介绍AndroidMainline基础简介,感兴趣的朋... 目录关键要点什么是 android Mainline?Android Mainline 的工作原理关键

mysql的基础语句和外键查询及其语句详解(推荐)

《mysql的基础语句和外键查询及其语句详解(推荐)》:本文主要介绍mysql的基础语句和外键查询及其语句详解(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录一、mysql 基础语句1. 数据库操作 创建数据库2. 表操作 创建表3. CRUD 操作二、外键

Python基础语法中defaultdict的使用小结

《Python基础语法中defaultdict的使用小结》Python的defaultdict是collections模块中提供的一种特殊的字典类型,它与普通的字典(dict)有着相似的功能,本文主要... 目录示例1示例2python的defaultdict是collections模块中提供的一种特殊的字

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Python基础文件操作方法超详细讲解(详解版)

《Python基础文件操作方法超详细讲解(详解版)》文件就是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,文件的核心操作就是读和写,:本文主要介绍Python基础文件操作方法超详细讲解的相... 目录一、文件操作1. 文件打开与关闭1.1 打开文件1.2 关闭文件2. 访问模式及说明二、文件读写1.

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