本文主要是介绍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. 机器学习框架
- 写出一个含有未知数 的函数,代表函数中所有的未知参数。
- 定义损失,损失也是一个函数,输入就是一组参数,来判断这组参数是否能让模型变得更好
- 解一个优化问题,找到一个,能够让损失越小越好。
这篇关于Datawhale X 李宏毅苹果书 AI夏令营|机器学习基础之线性模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!