当前位置: 首页 > news >正文

上海精品网站建设网站创意的技术

上海精品网站建设,网站创意的技术,做网站需要域名还需要什么,高端建站费用1.机器学习定义#xff1a; 机器学习就是让机器从大量的数据集中学习#xff0c;进而得到一个更加符合现实规律的模型#xff0c;通过对模型的使用使得机器比以往表现的更好 2.监督学习#xff1a; 从给定的训练数据集中学习出一个函数#xff08;模型参数#xff09;…1.机器学习定义 机器学习就是让机器从大量的数据集中学习进而得到一个更加符合现实规律的模型通过对模型的使用使得机器比以往表现的更好 2.监督学习 从给定的训练数据集中学习出一个函数模型参数当新的数据到来时可以根据这个函数预测结果。监督学习的训练集要求包括输入输出也可以说是特征和目标。训练集中的标签是由人标注的。监督学习就是最常见的分类注意和聚类区分问题通过已有的训练样本即已知数据及其对应的输出去训练得到一个最优模型再利用这个模型将所有的输入映射为相应的输出对输出进行简单的判断从而实现分类的目的。也就具有了对未知数据分类的能力。监督学习的目标往往是让计算机根据已有的数据集去学习我们已经创建好的分类系统知道输入和输出结果之间的关系。根据这种已知的关系训练得到一个最优的模型。也就是说在监督学习中训练数据既有特征(feature)又有标签(label)通过训练让机器可以自己找到特征和标签之间的联系在面对只有特征没有标签的数据时可以判断出标签。通俗一点可以把机器学习理解为我们教机器如何做事情。 即从正确答案中学习数据同时有输入x和输出标签y 分为回归和分类 回归从哪个无限多可能的输出数字中预测数字有无限输出。例如房价预测 分类对一个类别进行预测所有小部分的一个产出。分类只有少量输出、离散的有限的。例如预测是否为肿瘤 3.无监督学习 输入数据没有被标记也没有确定的结果。样本数据类别未知需要根据样本间的相似性对样本集进行分类聚类clustering试图使类内差距最小化类间差距最大化。 即计算机自己决定结果如何数据仅仅带有输入x没有输出标签y且算法必须找出数据的结构 聚类获取没有标签的数据并尝试自动将它们分组到集群中 4.定义 训练集用于训练计算机的数据集合监督学习包括输入特征和输出目标 输入变量x 输出目标y 训练示例的总数m 第i个样例(,) 模型f 输出预测y 归纳偏好机器学习算法在学习过程中对某种类型假设的偏好称为“归纳偏好” 5.经验误差与过拟合 误差学习器的实际预测输出与样本的真实输出之间的差异称为“误差”(error) 经验误差学习器在训练集上的误差称为“训练误差”(training  error)或 “经验误差” (empirical error), 泛化误差在新样本上的误差称为“泛化误差”(generalizationerror). 过拟合当学习器把训练样本学得“太好” 了的时候很可能已经把训练样本自身的一些特点当作了所有潜在样本都会具有的一般性质这样就会导致泛化性能下降。无法彻底避免 因素学习能力过于强大 欠拟合指对训练样本的一般性质尚未学好 因素学习能力低下 6.评估方法 测试集应该尽可能与训练集互斥即测试样本尽量不在训练集中出现、未在训练过程中使用过. 留出法 “留出法”(hold-out)直接将数据集。划分为两个互斥的集合其中一个集合作为训练集S ,另一个作为测试集T ,即0  S U T, S n T 0.在S上训练出模型后用T来评估其测试误差作为对泛化误差的估计.训练/测试集划分要荆轲能保持数据分布的一致性分层采样保留类别比例的采样方式单次使用留出法得到的估计结果往往不够稳定可靠使用留出法时一般采用若干次随即划分、重复进行实验评估后取平均值作为留出法的评估结果常见做法是将大约2/3〜4/5的样本用于训练剩余样本用于测试交叉验证法 “交叉验证法”(cross  validation)先将数据集D划分为k个大小相似的互斥子集即 每个子集D i都尽可能保持数据分布的一致性即从。中通过分层采样得到.然后每次用k - 1个子集的并集作为训练集余下的那个子集作为测试集这样就可获得k组训练/测试集从而可进行k次训练和测试最终返回的是这k个测试结果的均值.为减小因样本划分不同而引入的差别k折交叉验证通常要随机使用不同的划分重复p次最终的评估结果是这p 次 k折交叉验证结果的均值留一法 假定数据集D中包含m个样本若令k  小则得到了交叉验证法的一个特例留一法(Leave-One-Out,简称L O O )绝大多数情况下留一法的评估结果比较准确缺陷数据集较大时训练m个模型不符合实际 自助法 给定包含 m 个样本的数据集。我们对它进行采样产生数据集D每次随机从D中挑选一个样本,将其拷贝放入D ,然后再将该样本放回初始数据集D中,使得该样本在下次采样时仍有可能被采到这个过程重复执行m次后我们就得到了包含m个样本的数据集D ,这就是自助采样的结果通过自助采样初始数据集。中约有36.8%的样本未出现在采样数据集D中.包外估计 将D用作训练集D\D用作训练集实际评估的模型与期望评估的模型都使用m个训练样本而我们仍有数据总量月1/3没在训练集出现的样本用于测试适用于数据集较小难以有效划分训练/测试集对于集成学习有好处缺点改变了初始数据集的分布引入估计偏差调参与最终模型 调参对算法参数进行设定显示做法是对每个参数选定一个范围和变化步长最终模型在模型选择完成后学习算法和参数配置已经选定此时用数据集D重新训练模型。这个模型使用全部m个样本这就是最终模型。验证集模型评估与选择中用于评估测试的数据集 7.性能度量 定义衡量模型泛化能力的评价标准 均方误差回归任务常用的性能度量 对于数据分布和概率密度函数p(⋅) 错误率分类错误的样本数占样本总数的比例精度分类正确的样本数占样本总数的比例 对于数据分布和概率密度函数p(⋅) 查准率、查全率 对于二分类问题 可将样例根据其真实类别与学习器预测类别的组合划分为真正例(true positive) 假正例(false positive) 真反例(true negative)假反例(false negative)四种情形令TP、F P、T N、F N分别表示其对应的样例数则显然有T P    F P    T N    F N 样例总数. 查准率和查全率是矛盾的度量查准率越高查全率越低反之亦然P-R曲线 排在前面的最可能是正例的样本最后的是最不可能的是正例的样本按此顺序把样本作为正例进行预测计算查全率、查准率将查全率作为x轴查准率作为y轴若一个学习器的P-R曲线被另一个学习器的曲线完全包住则断言后者性能优于前者若发生交叉则难以断言孰优孰劣此时判断方法为比较曲线下面积表示了学习去在查准率和查全率取得“双高”的比例平衡点查全率查准率时的取值上图A优于BF1度量 FF1度量的一般形式表达出对查准率/查全率的不同偏好 0度量查全率对查准率的相对重要性 1退化为标准的F1 1查全率有更大影响 1查准率有更大影响 希望在n个二分类混淆矩阵上综合考察查准率和查全率 宏查准率macro-P宏查全率macro-R宏F1macro-F1 微查准率micro-P微查全率micro-R微F1micro-F1 ROC与AOC 正类大于分类阈值反类小于分类阈值排序质量的好坏体现了综合考虑学习器在不同任务下的“期望泛化性能”的好坏---ROC曲线 我们根据学习器的预测结果对样例进行排序按此顺序逐个把样本作为正例进行预测每次计算出两个重要量的值分别以它们为横、纵坐标作图就得到了 “R O C曲线”横轴是假正例率FPR纵轴是真正例率TPR 比较如果一个学习器的ROC曲线被另一个学习器完全包住则后者性能优于前者。 若发生交叉则无法断定孰优孰劣若一定要进行比较则比较曲线下面积AUC 给定m 个正例和m -个反例令D 和D -分别表示正、反例集合,则排序“损失”(loss)定义为对应的是ROC曲线之上的面积 代价敏感错误率与代价曲线 非均等代价为权衡不同类型错误造成的损失二分类任务的代价矩阵 代价敏感错误率 D与D-分别表示样例集D的正例子集和反例子集代价曲线 非均等代价下反映学习器的期望总体代价横轴是取值为[01]的正例概率代价p是正例的概率纵轴是取值为[01]的归一化代价FPR是假正例率FNR1-TPR是反假例率cost01​ 是将正例误判为负例的代价cost10​ 是将负例误判为正例的代价画法代价曲线的绘制很简单ROC曲线上每一点对应了代价平面上的一条线段设ROC曲线上点的坐标为(TPR,FPR),则可相应计算出FNR,然后在代价平面上绘制一条从(0,FPR)到(1,FNR)的线段线段下的面积即表示了该条件下的期望总体代价如此将ROC曲线上的每个点转化为代价平面上的一条线段然后取所有线段的下界围成的面积即为在所有条件下学习器的期望总体代价 8.比较检验: 假设检验 “假设”是指对学习器泛化错误率分布的某种判断或猜想可根据测试错误率估推出泛化错误率的分布泛化错误率为的学习器被测得测试错误率为的概率P在时最大| −|增大时减小。一个数据集上比较两个算法的性能 交叉验证t检验 小于临界值自由度为k-1的t分布上尾部累积分布为/2的临界值则假设不能被拒绝否则认为两个学习器性能有显著差别且平均错误率小的性能优5×2交叉验证 McNemar检验 若我们做的假设是两学习器性能相同则应有e01   e10,那么变量|e01 -  e10|应当服从正态分布且均值为1,方差为e01 e10.因此变量服从自由度为1的2分布即标准正态分布变量的平方.给定显著度必当以上变量值小于临界值2时不能拒绝假设即认为两学习器的性能没有显著差别否则拒绝假设即认为两者性能有显著差别且平均错误率较小的那个学习器性能较优.自由度为1的2检验的临界值当 0.05时为3.8415, 0.1时为 2.7055.一组数据集上对多个算法进行比较 基于排序的Friedman检验 假定我们用。1、0 2、。3和 。4四个数据集对算法A、B、C进行比较.首先使用留出法或交叉验证法得到每个算法在每个数据集上的测试结果然后在每个数据集上根据测试性能由好到坏排序,并赋予序值1,  2,若算法的测试性能相同则平分序值. 上述式子k和N较大时服从自由度为k-1的2分布服从自由度为k-1和(k-1)(N-1)的F分布 Nemenyi后续检验 若算法性能显著不同需要进行后续检验进一步区分算法-----Nemenyi检验计算出平均序值差别的临界值域 若两个算法的平均序值之差超出了临界值域CD则以相应的置信度拒绝“两个算法性能相同” Friedman检验图中纵轴显示各个算法横轴是平均序值.对每个算法,用一个圆点显示其平均序值以圆点为中心的横线段表示临界值域的大小.然后就可从图中观察若两个算法的横线段有交叠则说明这两个算法没有显著差别否则即说明有显著差别. 9.线性回归网课 计算误差 目标是找到参数w或w和b使成本函数J的值最小 J越小的越拟合 实现梯度下降 梯度下降(Gradient descent)是一个用来求函数极小值的算法将使用梯度下降算法来求出代价函数J(w,b)的最小值。 实现同时更新的梯度下降 学习率 用来控制梯度下降时的步长。若α 很大则说明梯度下降会很迅速若α 很小则说明梯度下降会很缓慢。并且上式中w​,b需同时更新 线性回归 通过属性的线性组合进行预测的函数 即f x   W1X1   W2X2   • • •   WdXd   b ,一般向量形式写为Τxb若属性值存在“序”关系可通过连续化将其转化为连续值例如身高“高、中、低”可转化为1.00.50“若属性值间不存在序关系假定有k个属性则通常转化为k维向量例如属性”瓜类“取值”西瓜、南瓜、黄瓜“可转化为(0,0,1),(0,1,0),(1,0,0)均方误差 最小二乘”参数估计“求解被b使Eb1−2最小化的过程和b的最优解的闭式解 多元线性回归 样本由d个属性描述试图学得 f()Τb使得f()≅广义线性模型 函数g()被称为联系函数分类任务 若预测值z0则判定为正例z0判定为反例预测值为临界值0可任意判别y11e−(Τx)几率将y视为样本x作为正例的可能性1-y是视为反例的可能性几率为y1−y翻译了x作为正例的相对可能性线性判别分析LDA 给定训练样例集设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离在对新样本进行分类时将其投影到同样的这条直线上再根据投影点的位置来确定新样本的类别主要目标 分类通过找到最佳的投影方向来最大化不同类之间的分离度从而帮助分类。降维在保持类别可分性的前提下减少数据集的维度.欲使同类样例的投影点尽可能接近可以让同类样例投影点的协方差尽可能小即 尽可能小而欲使异类样例的投影点尽可能远离,可以让类中心之间的距离尽可能大即尽可能大同时考虑二者则可得到欲最大化的目标类间散度矩阵 则J可写为广义瑞利商 LDA步骤 计算类内散度矩阵Sw:计算类间散度矩阵SB求解特征值问题 选择投影方向 选取最大的几个特征中对应的特征向量作为投影方向投影数据 将原始数据投影到这些方向上得到降维后的数据多分类学习 拆解法 将多分类任务拆为多个二分类任务求解.具体来说先对问题进行拆分然后为拆出的每个二分类任务训练一个分类器;在测试时对这些分类器的预测结果进行集成以获得最终的多分类结果.拆分策略 一对一OvO一对其余OvR多对多MvMOvOOvO将这N个类别两两配对,从而产生N ( N - 1)/2个二分类任务,例如OvO将为区分类别Ci和Cj训练一个分类器该分类器把D中的Ci类样例作为正例Cj类样例作为反例.在测试阶段新样本将同时提交给所有分类器于是我们将得到N ( N - 1)/2个分类结果,最终结果可通过投票产生即把被预测得最多的类别作为最终分类结果.OvROvR则是每次将一个类的样例作为正例、所有其他类的样例作为反例来训练N 个分类器.在测试时若仅有一个分类器预测为正类则对应的类别标记作为最终分类结果对比 OvR只需训练N个分类器而OvO需训练N N  - 1/2个分类器因此OvO的存储开销和测试时间开销通常比OvR更大.但在训练时,OvR的每个分类器均使用全部训练样例而OvO的每个分类器仅用到两个类的样例因此在类别很多时OvO的训练时间开销通常比OvR更小. MvM是每次将若干个类作为正类,若干个其他类作为反类选择类可使用ECOC即纠错输出码 编码对N个类别做M次划分每次划分将一部分类别划为正类一部分划为反类,从而形成一个二分类训练集这样一共产生M个训练集,可训练出M个分类器解码M个分类器分别对测试样本进行预测这些预测标记组成一个编码.将这个预测编码与每个类别各自的编码进行比较,返回其中距离最小的类别作为最终预测结果 类别划分通过“编码矩阵”指定二元码正类反类/三元码正类反类停用类优点ECOC编码对分类器的错误有一定的容忍和修正能力对应同一个学习任务ECOC编码越长纠错能力越强类别不平衡问题 定义分类任务中不同类别的训练样例数目差别很啊的情况。解决方法 再缩放m−表示反例数目m表示正例数目这个方法是基于“训练集是真是样本总体的无偏采样”三种方法 欠采样第一类是直接对训练集里的反类样例进行“欠采样”(undersampling),即去除一些反例使得正、反例数目接近然后再进行学习过采样对训练集里的正类样例进行“过采样(oversampling),即增加一些正例使得正、反例数目接近然后再进行学习阈值移动第三类则是直接基于原始训练集进行学习但在用训练好的分类器进行预测时将 嵌入到决策过程中 10.多类特征线性回归 》 用函数表示 》向量化 具有多个变量Jwb的成本函数的方程w和x是多个特征的向量 多元回归的梯度下降 11.特征缩放 特征在不同值的范围内时对他们进行缩放使其具有彼此可比的价值范围使算法更快收敛。 方法一除最大值 方法二平均归一化 方法三Z分数归一化 12.学习曲线 每次迭代后代价函数应该下降若没有则表示学习率过大或程序出现bug 梯度下降算法收敛所需要的迭代次数根据模型的不同而不同我们可以通过绘制迭代次数和代价 函数的图来观察算法在何时趋于收敛。如果在一次迭代中, J ( θ ) 的值小于, 则可以说此次迭代是收敛的。 若过小则需要多次迭代才可收敛 若过大则J总不下降永不会收敛 选择 时, 可以尝试 … , 0.001 , 0.003 , 0.01 , 0.03 , 0.1 , 0.3 , 1 , … 等值 13.多项式回归 线性回归提够了一种构建以下形式模型的方法 14.Logistic回归算法 它适用于标签取值离散的情况它的输出值永远在0到1之间 二元分类 只有两种可能的几个是y1正类/否y0负类 公式 图像 损失函数 》 y1时代价几乎为0 梯度下降 15.决策边界 决策边界分为线性决策边界 (Linear decision boundary) 和非线性决策边界 (Non-linear decision boundary)。 线性决策边界 非线性决策边界 决策边界是假设函数的一个属性我们可以用非常复杂的模型来适应非常复杂形状的决策边界 16.解决过拟合的方法 搜集更多数据 寻找特征值 正则化 正则化线性回归和梯度下降 正则化逻辑回归和梯度下降 17.神经网络书 神经网络中最基本的成分是神经元模型。M-P神经元模型在这个模型中神经元接收到来自几个其他神经元传递过来的输入信号这些输入信号通过带权重的连接(connection)进行传递神经元接收到的总输入值将与神经元的阈值进行比较然后通过激活函数处理以产生神经元的输出 常用Sigmoid函数作为激活函数 它把可能在较大范围内变化的输入值挤压到01输出值范围内。 感知机 感知机由两层神经元组成输入层接收外界输入信号后传递给输出层输出层是M-P神经元阈值逻辑单元。感知机能容易的实现逻辑与或非运算学习规则 对于训练样例xy)若当前感知机的输出为y则感知机权重如此调整 i←i∆i∆iy−yxi∈01被称为学习率若感知机对训练样例xy预测正确即yy则感知机不发生编号否则将根据错误的程度进行权重调整感知机只有输出层神经元inx激活函数处理即只用于一层功能神经元学习能力有限若两类模式是线性可分的即与或非问题那么存在一个线性超平面能将它们分开感知机的学习过程一定会收敛而求得 解决非线性可分问题 使用多层功能神经元输入层和输出层之间的神经元被称为隐层或隐含层隐含层和输出层神经元都是拥有激活函数的功能神经元多层前反馈神经网络 每层神经元与下一层神经元全互连神经元之间不存在同层连接也不存在跨层连接。输入层神经元接受外界输入隐层和输出层的神经元对信号进行加工最后由输出层神经元输出误差逆传播算法BP算法 工作流程 先将输入示例提供给输入层神经元然后逐层将信号前传直到产生输出层的结果然后计算输出层的误差(第4 - 5行)再将误差逆向传播至隐层神经元(第6行),最后根据隐层神经元的误差来对连接权和阈值进行调整(第7行).该迭代过程循环进行直到达到某些停止条件为止。 目标最小化训练集D上的累积误差标准BP算法每次更新只针对单个样例累积BP算法直接针对累计误差最小化它在读取整个训练集D一遍后才对参数进行更新更新频率低 缓解BP算法过拟合的方法 第一种策略是“早停”(early stopping):将数据分成训练集和验证集训练集用来计算梯度、更新连接权和阈值验证集用来估计误差若训练集误差降低但验证集误差升高则停止训练同时返回具有最小验证集误差的连接权和阈值.基本思想是在误差目标函数中增加一个用于描述网络复杂度的部分例如连接权与阈值的平方和.仍令Ek表示第k个训练样例上的误差W i表示连接权和阈值则误差目标函数改变为其中∈01用于对经验误差与网络复杂度这两项进行折中常通过交叉验证法来估计 17.神经网络 定义  它是一种模仿动物神经网络行为特征进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度通过调整内部大量节点之间相互连接的关系从而达到处理信息的目的。神经网络的分支和演进算法很多种从著名的卷积神经网络CNN循环神经网络RNN再到对抗神经网络GAN等等。 神经网络的工作原理每一层都输入一个数字向量并对其应用一组逻辑回归单元用于计算另一个数字向量然后传递到另一层知道得出输出值 数据在TensorFlow中表示方式 构建神经网络  或 前向传播 如何实现前向传播 dense函数 这个函数的作用是在神经网络中执行前向传播Forward Propagation它模拟了一个全连接层Dense Layer的计算过程。在深度学习中前向传播指的是从输入数据开始逐层计算直至得出输出的过程。 如何高效实现神经网络 使用矩阵乘法实现dense函数 TensorFlow实现 这段代码是使用TensorFlow和Keras构建一个简单的神经网络模型的示例。以下是每部分的解释 1. **导入模块**    - import tensorflow as tf 导入TensorFlow库这是一个用于机器学习和深度学习的开源框架。    - from tensorflow.keras import Sequential 导入Sequential模型这是一个线性的堆叠层的API。    - from tensorflow.keras.layers import Dense 导入Dense层这是全连接层也是神经网络中最常用的基本层类型。 2. **创建模型**    python    model Sequential([        Dense(units25, activationsigmoid),        Dense(units15, activationsigmoid),        Dense(units1, activationsigmoid)    ])       创建一个Sequential模型并添加三个Dense层。第一层具有25个神经元第二层具有15个神经元最后一层具有1个神经元。所有层都使用Sigmoid作为激活函数。 3. **编译模型**    python    from tensorflow.keras.losses import BinaryCrossentropy    model.compile(lossBinaryCrossentropy())       编译模型指定损失函数为二进制交叉熵。二进制交叉熵常用于二分类问题的评估。 4. **训练模型**    python    model.fit(X, Y, epochs100)       使用提供的输入X和标签Y训练模型其中epochs参数设置为100表示梯度下降的迭代次数。 总结一下这段代码主要做以下事情 - 导入必要的TensorFlow和Keras库 - 定义一个具有三层的神经网络模型每层使用Sigmoid激活函数 - 设置二进制交叉熵作为损失函数 - 使用提供的数据X和Y训练模型共进行100次迭代。 注意这里的X和Y应该替换为你自己的训练数据。X是输入特征Y是对应的标签。如果你正在处理回归任务你可能需要更改最后一个层的激活函数例如使用线性激活函数或者选择适合回归问题的损失函数。 激活函数 作用引入非线性特性到网络中使得网络能够学习和逼近复杂的函数映射 二进制分类问题Sigmoid函数 y有正有负Linear activation 函数 y只能取非负值ReLU函数 18.Softmax:解决多类别分类 在多类别分类中每个样本只属于一个类别。这意味着对于一个样本它只能被分配到一组离散的类别集合中的一个类别。 》公式 损失函数 实现 使用 SparseCrossEntropy(from_logitsTrue) 来代替 SparseCategoricalCrossEntropy()。这是因为 from_logitsTrue 参数告诉 Keras 直接使用 logit未标准化的分数而不是 softmax 输出来计算交叉熵损失。这样做的原因是直接使用 logit 计算损失可以避免在计算过程中出现数值不稳定的情况特别是在极端情况下softmax 函数的输出可能非常接近 0 或 1导致计算上的困难。 19.多个输出的分类多标签分类 在多标签分类中每个样本可以属于多个类别。也就是说一个样本可以同时拥有多个标签。例如图像分类问题中一张图片可能既包含猫又包含狗也可能既不包含猫也不包含狗。在这种情况下类别之间不是互斥的一个样本可以同时属于多个类别。 多类别分类和多标签分类的区别 多类别分类一个样本仅属于一个类别类别之间是互斥的 多标签分类每个样本可以属于多个类别类别之间不是互斥的 20.优化算法Adam算法 增大或减小使更快接近最小值 实现代码 21.卷积层 每个神经元只看一个有限区域 优点计算更快只需要少量训练数据 22.模型评估 将数据集分为训练集和测试集用测试集对模型进行评估 最小化平方误差成本的线性回归训练和测试过程 最小化平方误差成本的分类回归 23.模型选择 交叉验证集Cross-validation Set是机器学习和数据科学中用于评估模型性能的一种数据集划分方法的一部分。在典型的机器学习项目中数据集通常被划分为三个主要部分训练集Training Set、验证集Validation Set和测试集Test Set。 训练集 (Training Set) 用于训练模型即调整模型参数以学习数据中的模式。验证集 (Validation Set) 也被称为交叉验证集用于调整超参数如学习率、正则化参数等和模型架构的选择以避免过拟合。在模型训练过程中验证集用于评估模型的泛化能力并根据验证集上的性能调整模型以达到更好的泛化效果。测试集 (Test Set) 用于最终评估模型的性能通常在模型训练完成后进行一次测试以评估模型在未见过的新数据上的表现。 交叉验证集的作用 减少偏差通过使用交叉验证可以更准确地估计模型在未知数据上的性能因为它利用了更多的数据进行验证。提高稳定性由于交叉验证使用了多次验证的结果因此可以降低模型性能评估的波动性。避免过拟合交叉验证有助于选择最适合的模型和超参数避免在训练集上过度拟合。 步骤 1.训练所有模型获得最终参数 2.使用Jcv评估性能 3.选择Jcv最小的模型 4.使用测试机估计过程选择的模型有多好 24.诊断偏差 选择模型选择Jtrain和Jcv都低的 方法 这张图展示了模型复杂度与训练误差Jtrain和交叉验证误差Jcv的关系其中横坐标表示多项式阶数degree of polynomial也就是模型的复杂程度。图中展示了三种情况高偏差欠拟合、高方差过拟合和高偏差和高方差欠拟合和过拟合。 1. **高偏差欠拟合**    - 图中红色曲线表示随着多项式的阶数增加训练误差$J_{train}$和交叉验证误差$J_{cv}$都逐渐减小。    - 高偏差意味着模型过于简单无法捕捉数据的真实趋势。    - 在这种情况下$J_{train}$ 和 $J_{cv}$ 相近因为两者都很高。    - 文字注释指出“High bias (underfit)”并且强调“$J_{train}$ will be high”。 2. **高方差过拟合**    - 图中绿色曲线表示随着多项式的阶数增加训练误差$J_{train}$先下降然后上升而交叉验证误差$J_{cv}$持续上升。    - 高方差意味着模型过于复杂导致在训练数据上表现良好但在新数据上表现不佳。    - 在这种情况下$J_{train}$ 可能较低而 $J_{cv}$ 很大。    - 文字注释指出“High variance (overfitting)” 并强调 “$J_{cv} ≫ J_{train}$”。 3. **高偏差和高方差**    - 图中蓝色曲线表示随着多项式的阶数增加训练误差$J_{train}$和交叉验证误差$J_{cv}$都持续上升。    - 这种情况同时具有欠拟合和过拟合的特点模型既不能很好地捕捉数据的趋势又容易受到噪声的影响。    - 在这种情况下$J_{train}$ 和 $J_{cv}$ 都很高而且 $J_{cv} ≫ J_{train}$。 25.通过交叉验证选择 通过交叉验证选择最佳的正则化参数 \( \lambda \) 是一种常用的方法它可以确保所选模型既不过拟合也不欠拟合训练数据并且能够在未见过的数据上表现良好。下面是通过交叉验证选择 \( \lambda \) 的一般步骤 1. **准备数据集**:    - 将原始数据集划分为训练集、验证集和测试集。通常比例可以是 60% 训练集、20% 验证集、20% 测试集或者使用其他比例。    - 如果不需要最终测试集来评估模型的性能可以使用 k-折交叉验证此时数据会被划分为 k 个子集。 2. **确定候选的 \( \lambda \) 值**:    - 选择一系列 \( \lambda \) 的候选值。这些值应该覆盖从很小到很大的范围例如 \( [0.001, 0.01, 0.1, 1, 10, 100] \)。 3. **对于每个 \( \lambda \) 值**:    - 使用训练集来训练模型其中包含正则化项其强度由 \( \lambda \) 控制。    - 计算训练集上的损失如均方误差 MSE。    - 计算验证集上的损失。 4. **选择最佳 \( \lambda \) 值**:    - 选取使验证集上的损失最小的那个 \( \lambda \) 值。这通常意味着在训练误差和验证误差之间找到了一个好的平衡点。    - 这个 \( \lambda \) 值通常是使得验证误差最小的值或者是在最小验证误差附近的一个值以避免过拟合验证集。 5. **最终模型评估**:    - 使用选定的 \( \lambda \) 值重新训练模型但这次使用整个训练集来进行训练。    - 使用独立的测试集评估最终模型的性能以得到一个不偏向于任何特定数据子集的泛化误差估计 26.学习曲线 定义 学习曲线Learning Curve是机器学习中用于评估模型性能的一个重要工具。它通过绘制模型在不同大小的训练数据集上的性能来帮助分析模型的学习能力、泛化能力和是否存在过拟合或欠拟合现象。  学习曲线的基本概念 1. **训练误差**Training Error    - 表示模型在训练集上的预测误差。    - 通常期望训练误差随训练集大小的增加而降低。 2. **验证误差**Validation Error或**交叉验证误差**Cross-Validation Error    - 表示模型在验证集或交叉验证集上的预测误差。    - 用于评估模型的泛化能力即模型在未见过的数据上的表现。    - 通常期望验证误差随训练集大小的增加而降低。 3. **学习曲线图**    - 横轴通常表示训练数据集的大小。    - 纵轴表示误差通常为损失函数的值如均方误差 MSE。    - 两条曲线分别表示训练误差和验证误差随训练数据集大小变化的趋势。 学习曲线的典型形态 1. **高偏差欠拟合**    - 当训练误差和验证误差都很高并且随着训练数据的增加两条曲线都缓慢下降。    - 这意味着模型太简单不足以捕获数据中的复杂模式。 2. **高方差过拟合**    - 当训练误差很低但验证误差很高并且两条曲线随着训练数据的增加逐渐收敛。    - 这意味着模型在训练数据上表现很好但在未见过的数据上表现不佳即模型过拟合了训练数据。 3. **良好的拟合**    - 当训练误差和验证误差都很低并且两条曲线随着训练数据的增加趋于稳定。    - 这意味着模型既能很好地拟合训练数据也能很好地泛化到未见过的数据。 27.解决问题方法 1. **获取更多的训练样本**如果模型存在高方差过拟合那么添加更多的训练样本有助于减少模型对训练数据的过度敏感性使其更好地泛化到新数据。这意味着模型在训练数据上表现得很好但在测试数据上表现不佳。 2. **尝试较小的特征集**如果模型存在高偏置欠拟合减少特征数量可能有所帮助。这样可以使模型更加简单更容易捕捉数据的主要趋势从而提高整体性能。这意味着模型无法准确地拟合训练数据。 3. **尝试添加额外的特征**如果模型存在高偏置欠拟合添加额外的特征如多项式特征可能有助于提高模型的复杂度使其更好地拟合数据。这同样适用于线性回归模型因为添加多项式特征可以创建非线性的关系从而更好地匹配数据分布。 4. **尝试减小**如果模型存在高偏置欠拟合减小正则化参数  可能有助于提高模型的复杂度允许它更好地拟合训练数据。这意味着模型过于简单不能充分拟合数据。 5. **尝试增大**如果模型存在高方差过拟合增大可以通过增加正则化力度来限制模型的复杂度防止它过度拟合训练数据。这意味着模型在训练数据上表现得很好但在测试数据上表现不佳。 25.添加数据专注于添加更多类型的数据 数据增强 数据增强Data Augmentation是一种常用的技术手段旨在通过生成新的训练样本从而提高机器学习模型的性能和鲁棒性。它通过变换现有数据集中的样本创造出额外的训练实例这些实例虽然与原始数据有所差异但仍然保持原有的分类标签或属性。数据增强特别适用于深度学习领域尤其是计算机视觉任务因为这些任务通常需要大量的训练数据来避免过拟合问题。 数据增强的目的 减少过拟合通过增加训练样本的多样性可以使得模型更加泛化减少对特定训练数据的依赖。提高模型性能更多的数据意味着模型可以从更多角度学习特征从而提高准确率。节约成本相比收集新数据数据增强是一种成本更低的方法。 常见的数据增强技术 图像变换 旋转随机旋转图像一定的角度。缩放随机放大或缩小图像。平移水平或垂直移动图像。翻转沿水平轴或垂直轴翻转图像。裁剪从图像中随机裁剪出一个区域。亮度调整改变图像的亮度。色彩变化更改图像的饱和度、对比度等颜色属性。噪声添加在图像中加入随机噪声。模糊处理使用高斯模糊等滤镜处理图像。文本数据增强 同义词替换用同义词替换词语。句子扩展通过添加描述性的短语来扩展句子。随机删除随机删除句子中的某些词。随机交换随机交换句子中相邻词的位置。文本插值将两个句子混合在一起创建新的句子。语音数据增强 速度变化改变音频的速度。音高变换改变音频的音高。背景噪声在音频中添加背景噪声。混响效果模拟不同环境下的声音效果。其他类型的数据 时间序列数据可以通过滑动窗口、数据平移等方式进行增强。结构化数据可以通过添加噪声、采样等方式增强。 数据合成 数据合成Data Synthesis是指通过算法生成与原始数据具有相似统计特性的新数据的过程。这种方法可以用于多种目的包括但不限于增加训练数据量、保护隐私、模拟未知数据分布等。数据合成对于解决数据稀缺问题、提高模型训练效果以及保护敏感信息等方面具有重要作用。 数据合成的主要目的 增加训练数据量通过生成额外的样本可以帮助模型更好地学习特征并且减少过拟合的风险。隐私保护合成数据可以用来替代真实数据在保证数据有用性的同时保护个人隐私。模拟未知数据当某些类型的样本在实际数据集中很少出现时可以通过数据合成来增加这类样本的数量提高模型对罕见情况的处理能力。 26.决策树: 定义 决策树模型是一种监督学习方法常用于分类和回归任务。它通过一系列的判断规则来预测输出值。这些判断规则可以被可视化为一棵树结构其中每个内部节点表示一个特征上的测试每个分支代表一个测试结果而每个叶节点代表一个类别分类任务或者一个数值回归任务 决策树的构建过程 特征选择选择最佳的特征来进行分割使其有最大纯度。常用的特征选择度量有信息增益、增益率、基尼不纯度等。 纯净度测量 熵 (Entropy)熵是用来衡量一个集合的不确定性或混乱程度的度量。在二分类问题中熵越低表示节点越纯净。熵的计算公式为 其中p是正类的概率1−p是负类的概率。当所有样本都属于同一类别时熵为0反之当正负类各占一半时熵最大。 信息增益 它衡量的是使用某个特征进行划分后数据集的熵或者基尼不纯度的减少量 公式 如果信息增益较大则说明使用该特征划分能显著降低数据集的熵或基尼不纯度因此值得进行划分。相反如果信息增益较小则说明使用该特征划分的效果并不明显可以选择其他特征。   树的生成递归地根据选定的特征对数据进行划分直到满足停止条件比如达到最大深度、最小样本数量等。何时停止分裂当一个节点属于同一类别的比例达到100%当分裂会导致树超过最大深度限制当纯净度得分改善低于阈值当节点内的样本数低于阈值剪枝为了防止过拟合可以通过预剪枝或后剪枝的方法来简化决策树的复杂度。 Start with all examples at the root node: 决策树开始于根节点所有的样本都位于根节点上。Calculate information gain for all possible features, and pick the one with the highest information gain: 计算所有可能特征的信息增益并选择信息增益最高的特征作为划分依据。Split dataset according to selected feature, and create left and right branches of the tree: 根据所选特征将数据集划分为左右分支。Keep repeating splitting process until stopping criteria is met: 继续重复划分过程直到达到停止条件为止。When a node is 100% one class: 当一个节点只属于同一类时停止划分。When splitting a node will result in the tree exceeding a maximum depth: 当划分会导致树的深度超过最大深度时停止划分。Information gain from additional splits is less than threshold: 如果额外的划分带来的信息增益低于阈值则停止划分。When number of examples in a node is below a threshold: 当节点中的样本数量低于阈值时停止划分。 热编码 热编码One-Hot Encoding是一种对分类变量进行数值化处理的方法通常用于机器学习和数据预处理中。它将每个分类变量转换成一组二进制变量其中每个二进制变量对应原始分类变量的一个可能取值。 如何选择最佳分类点 方差降低量最大的是最佳分类点 27.Bagging算法 给定一个训练集其大小为m。对于b1到BB是预设的bootstrap采样次数 使用有放回的采样方法即Bootstrap Sampling创建一个新的训练集该新训练集的大小仍然为m。在新的训练集上训练一颗决策树。 最终我们将得到B颗决策树这些决策树的集合称为“Bagged Decision Tree” 28.随机森林算法 随机森林算法中用于增加决策树之间差异性的一个关键特性即在构建每棵树时在每个节点选择分裂特征时不是考虑所有的特征而是从可用的特征中随机选择一个子集。 Bootstrap 抽样 首先从原始训练数据集中利用有放回的方式即 Bootstrap 抽样抽取 n 个样本形成一个新的训练集。这一步骤会重复 B 次生成 B 个不同的训练集。特征子集选择 在构建每一棵决策树时不是考虑所有的特征而是在每次分割时只考虑一部分特征。对于分类问题通常是选择 sqrt(m) 或者某个固定比例的特征其中 m 是总特征数。对于回归问题可以选择更少的特征。这样做的目的是增加各决策树间的差异性避免过度相关。构建决策树 对于每一个由 Bootstrap 抽样产生的训练集构建一棵决策树。在每个节点的分裂过程中选择最优特征进行分割。这里所说的最优特征指的是根据某种准则如信息增益、基尼指数等选择的特征。预测/评估 对于新的输入实例每棵决策树都会给出一个预测结果。对于分类问题可以通过投票决定最终类别对于回归问题则是对所有树的预测结果求平均。这样得到的预测结果比单独一棵决策树更为稳健。 29.增强树算法 初始化权重给每个训练样本分配一个相等的权重 wiwi​通常取值为 1mm1​其中 mm是训练集的大小。循环 b 次 训练第 b 棵树使用带有替换的采样方法创建一个新的训练集但是与随机森林不同增强树不从所有样本中等概率选取而是更倾向于挑选那些之前树分类错误的样本。这意味着那些被之前的树分类错误的样本将有更大的机会被选入新的训练集中。更新权重根据第 b 棵树的分类结果重新调整样本权重。具体来说正确分类的样本权重减小错误分类的样本权重增大。 30.使用XGBoost 31.使用情景 决策树和树集成 适用于表格型结构化数据决策树和树集成对于具有明确特征和标签的结构化数据表现良好比如数据库或电子表格形式的数据。这类数据通常包含有序的特征和数值或类别变量非常适合进行分割和递归划分。不适合非结构化数据然而它们并不推荐用于处理非结构化的数据如图像、音频和文本。这些类型的数据需要特殊的预处理和转换才能转化为结构化格式以便决策树和树集成可以处理。速度快决策树和树集成通常比其他复杂的学习算法更快因为它们不需要大量的计算资源来进行训练和预测。这使得它们在实时应用和资源有限的情况下非常有用。可解释性强小型的决策树相对容易被人理解因为它们可以通过一系列的规则表示出来而这些规则可以直接解释为什么某个特定实例被分到了某个类别或者预测了一个特定的结果。这对于需要解释模型行为的应用非常重要特别是在监管严格或需要透明度的领域。 神经网络 适用范围广神经网络适用于各种类型的数据包括表格型结构化和非结构化数据。这意味着它们可以处理数字、文本、图像、声音等各种形式的信息。相比于决策树和其他传统机器学习模型神经网络能更好地处理非结构化数据如图像和语音识别。速度较慢由于神经网络的复杂性它们可能会比决策树慢。这是因为它们涉及大量的参数优化和计算密集型操作如矩阵乘法和激活函数的评估。不过现代硬件的进步如GPU加速已经显著改善了运行时间。迁移学习神经网络支持迁移学习即利用预先训练好的模型来解决类似的任务。这大大减少了训练时间和所需的标注数据量尤其是在数据稀缺的情况下。例如你可以使用在ImageNet上训练过的卷积神经网络CNN作为基础模型然后微调它以适应你的特定图像分类任务。多模型系统当构建一个由多个模型共同工作的系统时组合多个神经网络可能更容易。这可以通过级联、并行或其他方式实现使各个网络专注于特定的任务然后将结果整合到一个总体输出中。这种方式有助于提高系统的灵活性和准确性。 32.聚类算法 聚类是一种无监督学习方法它的目标是将相似的对象分组在一起称为簇cluster使得同一簇内的对象彼此之间尽可能相似而不同簇之间的对象则尽可能不同。聚类分析可以帮助我们发现数据中的模式和结构而无需事先知道具体的标签或类别。聚类算法可以用来探索数据发现数据的内在结构也可以作为其他分析任务的预处理步骤如降维和可视化。 33.K-means 初始化选择k个点作为初始簇中心质心通常随机选取。分配将每个对象分配到最近的簇中心所在的簇。更新重新计算每个簇的新质心即簇内所有对象的均值。重复如果质心没有变化或达到最大迭代次数则停止否则回到第2步   初始化 随机初始化在每次迭代中从数据集中随机选择k个样本作为初始质心。箭头指向的注释表明这些质心是随机选择的例子。运行K-means使用选定的初始质心运行K-means算法得到每个样本的簇归属c^(i)和新的质心μ_1, ..., μ_K。计算代价函数根据簇归属和质心计算代价函数J(c^(1), ..., c^(m), μ_1, ..., μ_K)也称为失真。失真是衡量簇划分质量的指标通常定义为所有样本到其所属簇中心的距离平方和。重复上述步骤循环100次每次都随机初始化K-means并计算失真。这样做的目的是找到具有最低失真的簇划分。 选择K值 肘部法 绘制失真 distortion 或 inertia随k增加的变化曲线选择“肘部”处的k值。失真是所有样本到其所属簇中心的距离平方和。在k较小时随着k的增加失真下降很快当k超过某个值后失真下降缓慢。这个转折点对应的k值被视为最佳k值。 训练下一颗树使用更新后的权重作为新训练集的权重训练下一棵树。重复以上步骤直至达到预定的树的数量B。
http://www.w-s-a.com/news/107233/

相关文章:

  • 网站被模仿十堰网站制作公司
  • 怎么样做免费网站个人网站备案幕布
  • 做ppt的动图下载哪些网站制作一个网站需要多少时间
  • 公司网站开发制作备案中的网站
  • 怎么看网站的收录网站开发先前台和后台
  • 合肥市做网站多少钱wordpress网站布置视频
  • 中国建设人才网信息网站软件外包公司好不好
  • 网站建设与管理 市场分析上海网站建设公司排名
  • 怎么将公司网站设成首页网址关键词查询网站
  • 怎么用ps做网站ui邱县专业做网站
  • 国开行网站毕业申请怎么做大连旅顺口旅游攻略
  • 鲜花店网站源码成都专做婚介网站的公司
  • 合肥企业网站建设工哈尔滨公告
  • 华强北 做网站互联网服务平台入口
  • vi设计案例网站微信导航网站 dedecms
  • 青浦区做网站设计图片手绘图片
  • 做网站的基本功制作网站公司推荐
  • 阿里云快速建站教程个人网站 费用
  • 广东购物网站建设微信公众号制作模板免费
  • 阿里国际站韩语网站怎么做让移动网站
  • 北京外包做网站如何报价中国几大网络推广公司
  • 中国建设部网站关于资质wordpress 建app
  • 程序员找工作的网站哈尔滨建设信息网站
  • 公司 网站 方案高考写作网站
  • 网站后台如何登陆网站开发需求逻辑图
  • 市级档案网站建设情况分析server2008做DNS与网站
  • 公积金门户网站建设方案网站建设代理平台怎么做
  • 网站建设知识论文抖音开放平台是干什么的
  • 网站建设期末试卷大气简洁网站
  • 电子商务网站建设报告范文单位做网站怎么做