
人工智能算法
家有琦琦果
这个作者很懒,什么都没留下…
展开
-
BP神经网络手写数字1和9识别
BP神经网络手写数字1和9识别实现效果实现过程读取样本实现思路正向传播反向传播输出层的误差计算隐含层的误差计算权重更新效果验证实现效果上面是训练样本集,下面是测试样本集,识别的是黑色,未识别的是红色实现过程读取样本样本读取的过程参考这里:过程参考这里实现思路我们这里将神经网络的实现过程分为三部曲:注意:正向传播的其实就是神经元的分类过程,只不过这里要注意激活函数的使用,图中正向f指的就是激活函数;反向传播指的是传递回来的误差Error,注意理解图中反向误差的体现形式;最后就是更新权重原创 2020-08-16 13:37:16 · 1320 阅读 · 1 评论 -
人工智能 PCA人脸识别
人工智能 PCA人脸识别效果查看实现过程读取样本样本中心化奇异值处理数据处理计算样本中心计算比较新样本对特征样本显示结果验证效果查看前4行为驯训练样本,后面为识别及处理的效果实现过程这里主要使用奇异值分解:程序编程主要围绕这个公式进行:读取样本样本中心化这里记得注意:矩阵中心化是按列处理,所以程序里对只有Mean[j],最后记得求均值。最后用样本减去均值,获得新的矩阵,就是中心化了Matrix就是最后的中心化后的矩阵。里面的std[]用于求方差的,暂时不用理会奇异值处理这里直接调原创 2020-08-13 11:51:47 · 573 阅读 · 1 评论 -
人工智能 Kmeans算法实现
人工智能 Kmeans算法实现引言原理软件实现过程实现效果界面如下:基本的实现过程1、界面的设计和实现2、随机寻找K个初始点3、重新计算索引点的过程4、界面显示实现引言聚类算法中,Kmeans 算法是入门级的算法,对其本身的而理解,参考论坛中很多博文,这里仅作推荐,K-Means(聚类),还有这个:深入理解K-Means聚类算法,个人认为讲的都挺好的,大家请自行参考原理大概过一下原理(仅为个人的理解和阐述,不喜勿碰),后期的编程过程也是以此为准进行编程:1、首先输入k的值,即我们希望将数据集经原创 2020-06-07 16:02:46 · 744 阅读 · 1 评论 -
人工智能识别数字 Digital Recognition SGD
1、本文目标说明使用人工智能算法识别数字,给出样本数据集和测试数据集,给出算法,使得程序能够对样本数据集训练学习,然后再去识别测试数据集,查看识别效率。首先给出样本数据集和测试数据集标准数据集(上图)测试数据集(上图)我们所要做就是让程序对样本集进行学习,然后在学习的基础上去识别测试数据集里面的数据,看看识别率是怎么样的。2、理论说明本文使用随机梯度下降法SGD(stochastic gradient descent)识别图像。关于SGD的说明,查看我的这篇博文,做初步了解,这里对使用SG原创 2020-05-21 23:12:03 · 1429 阅读 · 0 评论 -
线性分类器——梯度下降法
前言接着前面一篇,线性分类器——点集样本分类,我们继续往下说说。之前我们从简单的开始,先给出一条直线,然后依次给出一些点,每给一个点,就按照规则对点进行分类,现在我们往前进一步,给定一群数据点,用直线把他们分开!实施步骤:1、一样的,首先来看看效果图:先用鼠标左右键给出数据集点击左侧学习按钮,自动用直线将其分开。这里采用梯度下降法,效果如图:这就是我们要实现的效果,由于初始值用的是...原创 2020-04-24 17:12:18 · 1249 阅读 · 0 评论 -
线性分类器——点集样本分类
@线性分类器——点集样本分类线性分类器个人理解给定一群数据点,采用线性方式对其划分和归类,最基础的就是用一条直线将现有的数据点集按照一定的规则进行分类和划分。一步一步来,我们先从简单的开始,先给出一条直线,然后依次给出点集中的点,每给一个点,就按照规则对点进行分类从第一步简单开始先看看效果:随机生成直线,鼠标点击界面添加新点,加入的过程中,判断新加的点是在直线的左侧还是右侧,同时用不...原创 2020-04-23 14:44:30 · 1156 阅读 · 1 评论