中国禹路由网站建设中,自己制作免费网站,株洲网站建设网站建设,企业公众号怎么制作线性模型#xff08;Linear model#xff09; 通常模型的修改来自于对问题的理解#xff0c;即领域知识 基本定义#xff1a;把输入特征x乘上一个权重#xff0c;再加上一个偏置就可以得到预测的结果。 优点#xff1a;简单易理解#xff0c;可理解性好#xff08;权重…线性模型Linear model 通常模型的修改来自于对问题的理解即领域知识 基本定义把输入特征x乘上一个权重再加上一个偏置就可以得到预测的结果。 优点简单易理解可理解性好权重w可以直观表达了各属性在预测中的重要性 
1 分段线性曲线 
1.1 线性模型的局限性 Linear线性的Model太过简单对于绝大多数的实际情况来说x1与y的关系不是简单的线性关系。随著 x1 越来越高y 就应该越来越大可以通过设定不同的 w改变这条线的斜率可以设定不同的 b改变这一条蓝色的直线跟 y 轴的交点但是无论怎么改 w 和 bx1与y永远都是线性关系永远都是x1越大y就越大。模型的偏差Model Bias无论如何调整Model中的参数都无法用Linear的Model制造类似红色的折线也就是指模型无法模拟真实情况。 
1.2 分段曲线的拟合 图中的各种Curves曲线都是由许多线段组成的称为Piecewise Linear 的 Curves分段线性曲线。这些曲线都可以用常数各种蓝色Function组成。曲线转折越多、越复杂需要的蓝色Function就越多。 在实际案例的训练数据选择中有时也会考虑数据本身的周期性等规律以求更好减小模型在训练数据上的损失。 1.3 连续曲线的拟合 基于分段曲线可以逼近任何连续曲线的原理我们可以使用Sigmoid函数来逼近Hard Sigmoid函数 当x1的值趋近于无穷大时指数项会消失函数收敛于c处当x1趋近于负无穷小y的值则趋近于0。 1.3.1 Sigmoid函数 
中调整 b、w 和 c 可以制造各种不同形状的 Sigmoid 函数 在拟合连续曲线时使用的Sigmoid函数数量超参数的一种可以自行设定其数量越多就可以产生有越多断线的分段线性函数可以逼近更复杂的函数。 1.3.2 损失函数的计算 
在这种拟合情况下将损失函数设置为L(θ)其中θ代表某一组Wb的值通过带入特征值x可以得到预估的y从而得到与真实标签之间的误差e将所有误差通过一定计算进行总和可以得到对应损失。 
为了优化模型减小损失可以在一开始先设置一个初始值θ0 一般来说梯度更新的停止条件是计算出梯度为0向量导致无法再更新参数较小可能或者我们主动终止计算。 
1.3.3 批量 
批量batch存有B笔数据N笔数据被随机分成一个个批量的一组数据。 在实际情况中通常是每次先选一个批量计算损失函数L的值并进行梯度更新。当所有批量都看过一次后称为一个回合epoch。 注每次更新一次参数叫做一次更新把所有的批量都看过一遍叫做一个回合 2 模型变形 
2.1 修正线性单元Rectified Linear UnitReLU 
定义是一种常用的人工神经网络中的激活函数activation function。 
形式 f(x)  max(0,x)/。它在x大于零的时候激活输出x在x小于等于零的时候不激活输出零。 
优点计算简单、神经元数量少、训练速度快、避免梯度消失的问题等。 
它已成为现代神经网络中最为普遍的激活函数之一用于隐藏层中。 2.2 神经网络neural network 过拟合overfitting模型在训练数据和测试数据上的能力/结果不一致。 3 机器学习框架 对于训练集训练过程有3个步骤 知识竞答 
①下面哪种激活函数可以用来逼近Hard Sigmoid函数 
A) ReLU B) Sigmoid C) tanh D) softmax E) ELU B ②在深度学习中我们经常遇到过拟合现象。以下哪些方法可以用来解决过拟合现象 
A) 增加训练数据量 B) 减少模型的参数数量 C) 增加模型的层数 D) 使用正则化技术 E) 使用Dropout技术 ABDE ③在预测观看人次的模型中考虑前 7 天的数据而非前 1 天的数据有什么好处 A. 可以降低模型的复杂度 B. 可以减少训练时间 C. 可以捕捉数据的周期性变化降低损失 D. 可以提高模型的非线性能力 E. 可以避免过拟合 C ④教程中提到模型在训练数据上的性能通常好于在测试数据上的性能。这种现象为什么会发生 这种现象发生是因为模型直接在训练数据上优化不可避免会学习到一些训练数据特有的模式包括可能的噪声。测试数据代表了模型未见过的数据更能反映模型的泛化能力。在实际应用中应该更关注模型在测试数据上的表现。 ⑤在教程的视频观看次数预测例子中我们看到了如何从考虑前1天扩展到考虑前7天、28天甚至56天。这种扩展的意义是什么教程中显示从28天增加到56天时在未见过的数据上的性能并没有显著提升为什么考虑更多天数不一定总能提高预测准确性 扩展考虑的天数允许模型捕捉更长期的模式如周期性变化。然而考虑更多天数并不总是能提高准确性因为1) 可能引入无关或噪声信息2) 增加了模型复杂度可能导致过拟合3) 很久以前的数据可能对当前预测不再相关。 ⑥在视频观看人数预测模型中为什么使用100个ReLU比使用10个ReLU效果更好这种改进是否总是有效的 每一层ReLU都可以被视为对数据的一次非线性变换使用更多的ReLU可以增加模型的复杂度使其能够捕捉更复杂的非线性关系。100个ReLU相比于10个ReLU可以学习更细致的模式有更强的表达能力。然而这种改进并非总是有效因为过多的ReLU可能导致过拟合特别是在数据量较小的情况下。此外还需要考虑计算资源和推理时间的限制。应该在模型性能不再显著提升或者验证集性能开始下降时停止增加复杂度。 ⑦在教程中我们看到了如何使用ReLU函数构建深层网络。为什么要在每个线性变换后都加入非线性激活函数如果去掉这些激活函数会发生什么 非线性激活函数如ReLU在每个线性变换后引入非线性变换使得模型能够学习复杂的非线性关系。如果去掉这些激活函数多层线性变换可以简化为单个线性变换这会大大降低模型的表达能力使其无法捕捉复杂的模式。 ⑧在改进模型时为什么使用ReLU函数比使用Sigmoid函数效果更好这可能与什么因素有关 ReLU函数比Sigmoid函数计算更简单能缓解梯度消失问题允许模型学习更复杂的非线性关系。在视频观看人数预测这种可能存在突然变化的场景中ReLU的非饱和性可能更有利于捕捉数据中的急剧变化。 与Sigmoid激活函数相比ReLU有几个明显的优点。首先ReLU在处理正数时非常简单它直接将正数传递出去这使得计算更高效。相比之下Sigmoid函数在处理正数时会变得非常平缓导致梯度变得非常小这使得训练过程变得缓慢。这种平缓的性质还可能导致训练过程中会出现梯度消失的问题即模型在训练时更新参数的速度变得非常慢。 其次ReLU函数的计算过程非常简单只需检查输入是否大于零这使得模型训练速度更快。而Sigmoid函数需要进行复杂的数学运算这会增加计算的复杂性和时间。 ⑨在使用梯度下降法优化模型时为什么使用小批量而不是整个数据集这种方法有什么优势和劣势 优势 小批量更新可以充分利用现代计算硬件如GPU的并行处理能力而且不需要等待整个数据集的梯度计算完成就可以更新参数从而加快训练速度。其次处理整个数据集可能需要大量内存而小批量可以在有限的内存中进行训练使得训练过程更加可行。另外还引入了一定的随机性有助于逃离局部最小值。 劣势 由于小批量梯度下降每次更新都是基于一个子集的估计这可能导致收敛路径不如全批量梯度下降平滑有时可能会出现震荡或不稳定。此外选择小批量的大小是一个需要经验的过程不同的大小可能对训练过程的效率和模型性能产生影响。过小的批量可能导致梯度估计不准确过大的批量可能导致内存不足或训练速度慢。 参考资料 Datawhale (linklearner.com) 机器学习——线性模型内附详细公式推导_简单描述几个线性模型建立的过程-CSDN博客