以下内容节围绕机器学习的基础内容讲解,内容较为浅显,适合新手观看!!!
1. 线性模型
- 线性模型概述:线性模型是最基础的预测模型,其形式简单,通常表示为 y=mx+b,其中 m 是斜率,b 是截距。(如下图所示,类似一次函数)
- 局限性:线性模型在处理复杂数据时显得力不从心,尤其是当数据之间的关系并非简单的直线关系时。例如,当数据分布呈现非线性特征(如曲线、折线等)时,线性模型无法准确捕捉这种关系。
-
2.分段线性曲线
- 定义:分段线性曲线由多个线性段组成,每一段都是直线,但整体呈现出非线性的形态。
- 构建方法:通过多个线性函数(绿色虚线)的叠加,并设置一个共同的常数项,可以组合出复杂的分段线性曲线(黑色实现)。每个蓝色函数的斜率可以与红色曲线的某一段相匹配,从而实现逼近。
- 关键点:分段线性曲线的复杂程度取决于转折点的数量和虚线函数的多样性。转折点越多,所需的虚线函数也越多。当数据关系不是分段线性时,可以通过分段线性曲线来逼近连续的曲线。在连续曲线上取多个点,然后将这些点用直线连接起来,形成分段线性曲线。当取点足够多或取点位置适当时,分段线性曲线可以非常接近原始的连续曲线。这种方法可以应用于各种复杂的曲线,包括有角度的曲线和有弧度的曲线。
在此基础上我们引入了Sigmoid函数和Hard Sigmoid的概念- Sigmoid函数:Sigmoid函数是一种S型函数,表达式为 y=1+e−(b+wx1)c,其中 c 是常数,b 和 w 是待定的参数,x1 是输入变量。
- Hard Sigmoid:由于Hard Sigmoid函数可能难以直接表示,可以使用Sigmoid函数来逼近它。Sigmoid函数具有平滑的S型曲线,能够较好地模拟Hard Sigmoid的硬阈值特性。
- 特性:当 x1 趋于正无穷时,Sigmoid函数趋于常数 c;当 x1 趋于负无穷时,Sigmoid函数趋于0。
3. 初识神经网络
神经网络并非新技术,但在2010年代后随着计算能力的提升和算法的改进,深度学习重新焕发了活力。例如,AlexNet(8层)、VGG(19层)、GoogleNet(22层)和ResNet(152层)等模型在图像识别领域取得了显著进展。
神经网络的基本单元是神经元(如Sigmoid或ReLU函数),多个神经元相互连接形成神经网络。神经网络由输入层、隐藏层和输出层组成。隐藏层的数量决定了神经网络的深度,深度学习就是通过堆叠更多的隐藏层来实现的。
在实际操作中,其步骤顺序如下所示:
- 数据划分:将数据集划分为训练集和测试集,训练集用于训练模型,测试集用于评估模型性能。
- 训练过程:
- 定义一个包含未知数(模型参数)的函数 fθ(x)。
- 定义损失函数 L,用于评估模型参数的好坏。
- 通过优化算法(如梯度下降法)找到使损失函数最小的参数 θ∗。
- 反向传播:在深度学习中,反向传播是一种有效计算梯度的方法,用于优化神经网络中的参数。
注意点:
- 过拟合:当模型在训练数据上表现优异,但在测试数据上表现不佳时,称为过拟合。这通常是因为模型过于复杂,学习了训练数据中的噪声。所以在选择模型时,应优先考虑在测试数据上表现更好的模型,即使它在训练数据上的表现可能不是最优的。
这就是这一期的内容,感兴趣,想要深入了解的小伙伴,还请自己上网搜索学习。