1. 神经网络的优化
上节回顾:
介绍了神经元、神经网络
介绍了激活函数
提到了前向传播概念
留下问题:用到的参数w和b是怎么来的,是自己随便设定的吗
本节介绍:
神经网络、反向传播的例子
损失函数和梯度下降法、学习率介绍
最重要的用途是分类
这种能自动对输入的东西进行分类的机器,就叫做 分类器 。分类器的输入是一个数值向量,叫做特征(向量)。
第一个例子里,分类器的输入是一堆0、1值,表示字典里的每一个词是否在邮件中出现,比如向量(1,1,0,0,0......)就表示这封邮件里只出现了两个词abandon和abnormal;
第二个例子里,分类器的输入是照片,假如每一张照片都是320x240像素的红绿蓝三通道彩色照片,那么分类器的输入就是一个长度为320x240x3=230400的向量。
分类器的输出也是数值。
第一个例子中,输出1表示邮件是垃圾邮件,输出0则说明邮件是正常邮件;
第二个例子中,输出0表示图片中是狗,输出1表示是猫。
分类器的目标就是让正确分类的比例尽可能高。一般我们需要首先收集一些样本, 人为标记上正确分类结果 ,然后用这些标记好的数据 训练分类器 ,训练好的分类器就可以 在新来的特征向量上工作 了。
这就是BP神经网络(back propagation)。
旨在得到最优的全局参数矩阵,进而将多层神经网络应用到分类或者回归任务中去。
前向传播 输入信号直至 输出产生误差 , 反向传播 误差信息 更新权重 矩阵。
这个地方提到的误差这个概念,其实就是对应了损失函数,损失函数说白了就是计算误差的函数。
举例:线性回归:寻找一条拟合图中数据点最好的直线
把每条小竖线的长度加起来就等于我们现在通过这条直线预测出的值与实际值之间的差距
缺点:采用梯度下降法学习时,模型一开始训练学习速率非常慢
对一个多元函数求偏导,会得到多个偏导函数.这些导函数组成的向量,就是梯度;一元函数的梯度是什么?它的梯度可以理解为就是它的导数。
求解多元函数和一元函数的道理是一样的,只不过函数是一元的时候,梯度中只有一个导函数,函数是多元的时候,梯度中有多个导函数.
当我们把梯度中的所有偏导函数都变为0的时候,就可以找到每个未知数的对应解。
梯度下降中求偏导数的未知数不是x和y,而是x的参数W。
梯度下降的方向:把这一点带入到梯度函数中,结果为正,那我们就把这一点的值变小一些,同时就是让梯度变小些;当这一点带入梯度函数中的结果为负的时候,就给这一点的值增大一些。
在这个下降的过程中.因为我们并不知道哪一个点才是最低点,也没有办法来预测下降多少次才能到最低点.这里梯度下降给出的办法是:
先随便蒙一个点出来,然后根据这个点每次下降以丢丢.什么时候下降得到的值(点带入偏导函数得到的)和上一次的值基本一样,也就是相差特别特别小的时候,我们认为就到了最低点。
让点沿着梯度方向下降慢慢求得最优解的过程我们叫做 学习 ,学习率就是用来限制他每次学习别太过"用功"的。下左图是我们所期望的,一个点按照梯度方向下降,慢慢逼近最低点,右图中展示的这个梯度值过大的时候,点下降的step就过大了,一次性迈过了最低点,导致函数无法找到最优解。学习率就是用来限制这种情况的。
更新权重的算法:每一个权重值都要减去它对应的导数和学习率的乘积
Lr 代表的是学习率
简单举例
2. 常见分类模型( svm,决策树,贝叶斯等)的优缺点,适用场景以及如何选型
深入解析:svm、决策树与贝叶斯分类模型的优劣、适用场景与选型策略
在数据科学的世界里,各类分类模型犹如璀璨的繁星,其中svm、决策树和贝叶斯等经典模型各有其独特的魅力与局限。让我们一起探索它们的内在特性,以及在实际应用中的最佳选择。
首先,让我们聚焦于svm,这位天生的结构风险优化者。它的稳定性与较小的过拟合风险使其在样本量较少时大放异彩。然而,随着样本规模的增加,svm的计算复杂度会显著提升,而这时神经网络的泛化能力就展现出了它的优势。尽管如此,神经网络的灵活性使其在大规模数据和复杂模型设计中更具优势,使得svm在某些场景下不再是最理想的选择。
决策树系列则凭借其信息论基础,对离散特征的处理游刃有余。相较于其他模型需要对离散特征进行编码,决策树直接计算信息增益,降低了复杂性。而且,集成树模型如xgb的存在,通过快速稳定且并行化的特性,使得决策树在处理大量离散特征的场景中独占鳌头,尤其是在算法竞赛中。
最后,我们来看看贝叶斯分类器,它的计算效率是其一大优点。然而,贝叶斯模型对数据分布的假设较为严格,当这些假设与实际数据分布契合时,分类效果往往更佳。然而,如果数据分布偏离假设,贝叶斯分类器的表现可能会受到影响。
在实际选型中,你需要考虑数据的特性、模型的复杂度、计算资源以及性能需求。对于样本量小且特征结构简单的场景,svm和决策树可能是不错的选择。而当数据包含大量离散特征,或追求高效的分类性能时,决策树可能更胜一筹。贝叶斯分类器则适用于数据分布特征明确且计算资源有限的情况。综上所述,选择哪种模型,关键在于理解你的数据特性和应用场景,做出最适合的决策。
3. 艾波-罗斯(一种基于神经网络的机器学习算法)
艾波-罗斯:一种基于神经网络的机器学习算法
什么是艾波-罗斯算法?
艾波-罗斯(AdaptiveBoosting,简称AdaBoost)是一种基于神经网络的机器学习算法,用于分类问题。它是一种集成学习算法,通过组合多个弱分类器来构建一个强分类器,提高分类准确率。
艾波-罗斯算法的工作原理
艾波-罗斯算法的工作原理可以分为以下几个步骤:
1.初始化样本权重:将每个样本的权重初始化为相等值。
2.训练弱分类器:使用当前样本权重训练一个弱分类器。
3.更新样本权重:根据弱分类器的分类结果更新每个样本的权重,分类错误的样本权重会增加,分类正确的样本权重会减少。
4.组合弱分类器:将多个弱分类器组合成一个强分类器,每个弱分类器的权重由其分类准确率决定。
艾波-罗斯算法的优缺点
艾波-罗斯算法的优点是:
1.可以处理高维度数据集。
2.不容易发生过拟合。
3.可以处理非线性关系。
艾波-罗斯算法的缺点是:
1.对噪声和异常值比较敏感。
2.训练时间比较长。
3.对于不平衡数据集的处理效果不佳。
如何使用艾波-罗斯算法?
使用艾波-罗斯算法进行分类问题的解决,通常需要以下几个步骤:
1.准备数据集:将数据集划分为训练集和测试集,并对数据进行预处理和特征工程。
2.初始化样本权重:将每个样本的权重初始化为相等值。
3.训练弱分类器:使用当前样本权重训练一个弱分类器。
4.更新样本权重:根据弱分类器的分类结果更新每个样本的权重,分类错误的样本权重会增加,分类正确的样本权重会减少。
5.组合弱分类器:将多个弱分类器组合成一个强分类器,每个弱分类器的权重由其分类准确率决定。
6.对测试集进行预测:使用训练好的强分类器对测试集进行预测,并计算分类准确率。