初级算法-第一次课程

1、有监督、无监督、泛化能力、过拟合欠拟合(方差和偏差以及各自解决办法)、交叉验证

 

根据训练数据是否拥有标记信息,学习任务可大致分为两大类:监督学习和无监督学习,分类和回归是监督学习的代表,聚类是无监督学习的代表。

泛化能力:泛化能力(generalization ability)是学的模型适用于新样本的能力。

过拟合:当学习器把训练样本学的太好了的时候,很可能已经把训练样本自身的一些特点当做了所有潜在样本都会具有的一般性质,这样就会导致泛化性能下降,这种现象在机器学习中成为过拟合。

欠拟合:欠拟合是指对训练样本的一般性质尚未学好。是指模型拟合程度不高,数据距离拟合曲线较远,或指模型没有很好地捕捉到数据特征,不能够很好地拟合数据。

交叉验证:先将数据集D划分为k个大小相似的互斥子集,每个子集都尽可能保持数据分布的一致性,即都是从D中通过分层采样得到的,然后每次用k-1个子集的并集作为训练集,剩下的那个子集作为测试集,这样就可获得k组训练集和测试集,从而可以进行k次训练和测试,最终返回的是这k个测试结果的均值。交叉验证法评估结果的稳定性和保真性很大程度上取决于k的取值。一般k取10.

参考书籍:西瓜书

 

2、线性回归的原理

给定数据集D,视图学到一个线性模型以尽可能准确的预测实值输出标记。即f(xi)=wxi+b,使得f(xi)约等于yi。其中参数w和b的求解过程称为最小二次参数估计。参数估计目标是最小化均方误差,也就是均方误差分别对w和b进行求偏导并且让其结果都等于0,最终求出w和b,确定线性回归的函数。

 

线性回归损失函数、代价函数、目标函数

目标函数(object function):最终需要优化的函数,等于结构风险+经验风险,也就是coss function +正则化项。

线性回归的损失函数(loss function):也就是最小化的那个函数成为损失函数。定义在单个样本上的样本的误差。

经典的损失函数为均方误差。

主要的分类损失函数有:log loss、focal loss、KL Divergence/Relative Entropy、Exponential loss、hinge loss。回归的损失函数有mean square error、mean absolute error,huber loss、log cosh loss、quantlie loss。

参考链接:https://www.jianshu.com/p/6bdaba8f86f1

代价函数(Cost function):定义在整个训练集上的,是所有样本误差的均值,也就是损失函数的均值

参考链接:https://blog.youkuaiyun.com/as472780551/article/details/81051625

优化方法(梯度下降法、牛顿法、拟牛顿法等)

 

梯度下降法:梯度下降法是一个最优化算法,通常也称为最速下降法。最速下降法是求解无约束优化问题最简单和最古老的方法之一,虽然现在已经不具有实用性,但是许多有效算法都是以它为基础进行改进和修正而得到的。最速下降法是用负梯度方向为搜索方向的,最速下降法越接近目标值,步长越小,前进越慢。

 

牛顿法就是求解函数极值的思路是寻找导数为0的点,这就是求解方程

流程是

存在的问题:牛顿法寻找的也是导数为0的点,这不一定是极值点,因此会面临局部极小值和鞍点问题;牛顿法面临的另外一个问题是Hessian矩阵可能不可逆,从而导致这种方法失效。此外,求解Hessian矩阵的逆矩阵或者求解线性方程组计算量大,需要耗费大量的时间。为此,提出了拟牛顿法这种改进方案,在后面会介绍。

 

拟牛顿法:

牛顿法在每次迭代时需要计算出Hessian矩阵,然后求解一个以该矩阵为系数矩阵的线性方程组,这非常耗时,另外Hessian矩阵可能不可逆。为此提出了一些改进的方法,典型的代表是拟牛顿法(Quasi-Newton)。

 

拟牛顿法的思想是不计算目标函数的Hessian矩阵然后求逆矩阵,而是通过其他手段得到Hessian矩阵或其逆矩阵的近似矩阵。具体做法是构造一个近似Hessian矩阵或其逆矩阵的正定对称矩阵,用该矩阵进行牛顿法的迭代。将函数在点处进行泰勒展开,忽略二次以上的项,

 

这个条件称为拟牛顿条件,用来近似代替Hessian矩阵的矩阵需要满足此条件。根据此条件,构造出了多种拟牛顿法,典型的有DFP算法、BFGS算法、L-BFGS算法等

参考网站:

https://mp.weixin.qq.com/s?src=11&timestamp=1557666003&ver=1602&signature=f9UionWABqM2rWp5NDbGY95dMFhFtxLkGD-oGkpT2xFZCeU2ZKSj7G5TVMiWvwzaGhZRMREgYYrgyyCVBNV9Mql9vAfaJJYqO8-VdxUZ5*lOfFYjdevj4ojtMwlBEX*B&new=1

线性回归的评估指标

MAE:平均绝对误差

MSE:均方误差

RMSE(root mean square error):方根误差

MAPE:Mean Absolute Percentage Error

R方:R平方是多元回归中的回归平方和占总平方和的比例,它是度量多元回归方程中拟合程度的一个统计量,反映了在因变量yy的变差中被估计的回归方程所解释的比例。

R平方越接近1,表明回归平方和占总平方和的比例越大,回归线与各观测点越接近,用xx的变化来解释yy值变差的部分就越多,回归的拟合程度就越好。

校正R方:

 

参考:https://blog.youkuaiyun.com/u013704227/article/details/77604500

 

sklearn参数详解

Sklearn是python的模块之一,包含了多种机器学习:分类、回归、非监督分类、数据降维Dimensionality reduction,模型选择 model selection,数据预处理 preprocessing

这是sklearn中的选择模型的说明。

导入模块:

From _future_ import print_function

From sklearn import datasets

From sklearn.cross_validation import train_test_split

From sklearn.neighbors import KNeighborsClassifirer

创建数据

加载iris数据,把属性存在x,把类别存在y

Iris=datasets.load_iris()

Iris_x=irir.data

Iris_y=iris.target

数据分为训练集和测试集,test_size=0.3,即测试集占总数据的 30%:

X_train,X_test,y_train,y_test=train_test_aplit(iris_x,iris_y,test_size=0,3)

建立模型-训练和预测

定义模块方式 KNeighborsClassifier(),

用 fit 来训练 training data,这一步就完成了训练的所有步骤,

后面的 knn 就已经是训练好的模型,可以直接用来 predict 测试集的数据,

Knn=kNeighborsClassifier()

Knn.fit(x_train,y_train)

 

内容概要:本文系统介绍了算术优化算法(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、付费专栏及课程。

余额充值