Day1 机器学习(Machine Learning, ML)基础

本文介绍了机器学习的基本概念,包括监督学习、无监督学习、半监督学习及强化学习等类型,并探讨了模型评估与选择的方法。

一、机器学习的简介

  • 定义

  Tom Mitchell给出的机器学习定义: 对于某类任务T和性能度量P,如果计算机程序在T上以P衡量的性能随着经验E而自我完善,那么就称这个计算机程序从经验E学习。

  百度百科给出的机器学习定义:机器学习是多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

  • 分类

  监督学习(supervised learning):数据集是有标签的,就是说对于给出的样本是知道答案的,我们大部分学到的模型都是属于这一类的,它包括K-近邻算法、决策树、朴素贝叶斯、逻辑回归、支持向量机等;

  无监督学习(unsupervised learning):跟监督学习相反,数据集是完全没有标签的,主要的依据是相似的样本在数据空间中一般距离是相近的,这样就能通过距离的计算把样本分类,它包括聚类、EM算法等;

  半监督学习(semi-supervised learning):半监督学习一般针对的问题是数据量超级大但是有标签数据很少或者说标签数据的获取很难很贵的情况,训练的时候有一部分是有标签的而有一部分是没有的;

  强化学习:一直激励学习的方式,通过激励函数来让模型不断根据遇到的情况做出调整;

  • 相关概念

  训练集(training set/data)/训练样例(training examples): 用来进行训练,也就是产生模型或者算法的数据集;

 

  测试集(testing set/data)/测试样例 (testing examples):用来专门进行测试已经学习好的模型或者算法的数据集;

 

  特征向量(features/feature vector):属性的集合,通常用一个向量来表示,附属于一个实例;

 

  标记(label): 实例类别的标记;

 

  正例(positive example);

 

  反例(negative example);
  • 深度学习(Deep Learning)

  它是基于机器学习延伸出来的一个新的领域,由以人大脑结构为启发的神经网络算法为起源加之模型结构深度的增加发展,并伴随大数据和计算能力的提高而产生的一系列新的算法。深度学习,作为机器学习中延伸出来的一个领域,被应用在图像处理与计算机视觉,自然语言处理以及语音识别等领域。

  • 机器学习步骤

  先把数据拆分为训练集和测试集,再用训练集和训练集的特征向量来训练算法,然后用学习来的算法运用在测试集上来评估算法 (可能要设计到调整参数(parameter tuning), 用验证集(validation set)。

 

二、模型评估与选择

  • 误差相关概念、过欠拟合

  错误率(error rate):通常把分类错误的样本数占样本总数的比例。

  精度(accuracy): 1 - 错误率。

  误差(error):把学习器的实际预测输出和样本的真实输出之间的差异;

  训练误差(training error):也称为经验误差(empirical error),学习器在训练集上的误差;

  泛化误差(generalization error):学习器在新样本上的误差;

  过拟合(overfitting):当学习器把训练样本学得“太好”了的时候,很可能已经把训练样本自身的一些特点当作了所有潜在样本都会具有的一般性质,这样就会导致泛化性能下降。这种现象称为过拟合。学习能力太过强大,以至于把训练样本所包含的不太一般的特性都学到了,过拟合是无法避免的,能做的只是缓解或者减小其风险。

  欠拟合(underfitting):指学习器对训练样本的一般性质尚未学好。欠拟合比较容易客服,如在在决策树学习中扩展分支、神经网络学习中增加训练轮数。

  • 评估方法

假设有数据集D={(x1,y1),(x2,y2),...,(xm,ym)},对D进行适当处理,从中产生训练集S和测试集T。下面介绍几种常见的方法。

  留出法(holdout):

  它直接将数据集D划分为两个互斥的集合,其中一个作为训练集S,另一个作为测试集T。在S上训练出模型后,用T来评估其测试误差,作为对泛化误差的估计。训练集和测试集的划分要尽可能的保持数据分布的一致性。

  交叉验证法(cross validation):

  它先将数据集D划分为K个大小相似的互斥子集,每个子集Di都尽可能保持数据分布的一致性。然后,每次用K-1个子集的并集作为训练集,余下那个子集作为测试集;这样就可以获得K组训练集和测试集,从而可进行K次训练和测试,最终返回的是这K次测试结果的均值。K通常取值为10,称为10折交叉验证。

  自助法(bootstrapping):

  对于给定的包含m个样本的数据集D,对它进行m次有放回的取出一个样本,得到新的数据集D1。初始数据集D中约有36.8%的样本未出现在D1中,可将D1作为训练集,D-D1作为测试集。

  • 性能度量

回归任务最常用的性能度量是均方误差(mean squared error);

在分类问题中,使用的性能度量主要有(混淆矩阵)准确率 、召回率 、 F1度量。

 

 

 

 

 

  

 

 

 

  

转载于:https://www.cnblogs.com/cxq0223/p/8961370.html

内容概要:本文系统介绍了算术优化算法(AOA)的基本原理、核心思想及Python实现方法,并通过图像分割的实际案例展示了其应用价值。AOA是一种基于种群的元启发式算法,其核心思想来源于四则运算,利用乘除运算进行全局勘探,加减运算进行局部开发,通过数学优化器加速函数(MOA)数学优化概率(MOP)动态控制搜索过程,在全局探索与局部开发之间实现平衡。文章详细解析了算法的初始化、勘探与开发阶段的更新策略,并提供了完整的Python代码实现,结合Rastrigin函数进行测试验证。进一步地,以Flask框架搭建前后端分离系统,将AOA应用于图像分割任务,展示了其在实际工程中的可行性与高效性。最后,通过收敛速度、寻优精度等指标评估算法性能,并提出自适应参数调整、模型优化并行计算等改进策略。; 适合人群:具备一定Python编程基础优化算法基础知识的高校学生、科研人员及工程技术人员,尤其适合从事人工智能、图像处理、智能优化等领域的从业者;; 使用场景及目标:①理解元启发式算法的设计思想与实现机制;②掌握AOA在函数优化、图像分割等实际问题中的建模与求解方法;③学习如何将优化算法集成到Web系统中实现工程化应用;④为算法性能评估与改进提供实践参考; 阅读建议:建议读者结合代码逐行调试,深入理解算法流程中MOA与MOP的作用机制,尝试在不同测试函数上运行算法以观察性能差异,并可进一步扩展图像分割模块,引入更复杂的预处理或后处理技术以提升分割效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值