浅析字母识别的算法

前言

digit recogniser是另一个kaggle入门级别的比赛。这次,我将要介绍一下如何利用机器学习的算法实现图像识别。

在这次比赛里,我们要求训练一个模型从像素数据辨认出图片中的数字。比赛中用到的数据包含:

  1. label: 从0至9的整数;
  2. features: pixel001-pixel784, 分别对应28x28图片的每一个像素的位置;
  3. 每一个像素数据是0-255的整数,用来代表对应该像素点的亮度;

基本思路

我们知道图片是由像素(点)组成的矩阵,越多的像素可以呈现越清晰的画质。每一个像素由0-255的256个整数表示其不同的亮度,因此一个28x28的图片可以用一个28x28的矩阵来表达,矩阵中的数值也就是0-255的整数。然后彩色图片是个三元色的三个图层叠加而来,也就是说对于一个28x28的彩色图片,我们需要用到3x28x28个特征来表示。
这次比赛中所用到的图片是28x28的黑白图片,因此数据提供了784个特征用于模型训练。

了解数据

为了更加直观了解数据,我们可以用R的image语言画出像素数据所表达的图片。

通过像素还原图片

我们从数据中随机提取了100个样本。

display(test[sample(28000,100),],28)

28x28显示
28x28 显示

降维方法1

对于机器学习问题 784 个特征也许有点太多了。通过观察28x28的图片,我们可以发现数字相当的清楚,因此我们也许可以用更低的像素(比如14x14)来表达28x28的图片。通过这样的方法我们可以大幅地减少特征数量 (784 到 196)!
基本思路:

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
差分进化算法(Differential Evolution,DE)是一种基于种群的随机搜索算法,具有以下优缺点: 优点: 1. 高效性:DE算法具有良好的全局搜索能力和快速的收敛速度,尤其在高维问题中表现较为出色。 2. 简单易实现:DE算法的思路简单,易于理解和实现,且不需要对目标函数进行任何假设或限制。 3. 对初始值不敏感:DE算法对初始值不敏感,能够在不同的初始值下得到相似的优化结果。 4. 适用性广泛:DE算法适用于多种优化问题,如函数优化、组合优化、机器学习等领域,具有广泛的应用前景。 缺点: 1. 参数设置困难:DE算法中需要设置种群大小、变异因子、交叉概率等多个参数,参数选择对算法效果具有较大的影响,需要进行反复试验和调整。 2. 易陷入局部最优:DE算法在搜索过程中可能会陷入局部最优解,特别是在目标函数具有多个峰值或存在大量噪声时。 3. 算法复杂度高:DE算法的计算复杂度较高,需要进行大量的重复计算和比较操作。 4. 需要大量的迭代次数:DE算法需要进行大量的迭代计算,因此在处理大规模问题时,计算时间会比较长。 综上所述,DE算法具有高效性、简单易实现、适用性广泛等优点,但也存在参数设置困难、易陷入局部最优、算法复杂度高、需要大量的迭代次数等缺点。需要根据具体问题的特点和要求,选择合适的优化算法进行求解。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值