Machine Learning---PNN
MachineLearning---PNN
引言
这篇将介绍machine learning中另一个较为经典的一个算法。之前介绍的几个算法(Backpropagation、LMS……)这些算法有一个明显的特点就是,它们都需要先训练算法,都会通过训练数据集调整算法的内部参数。
这次介绍的算法就摆脱了这种过程。
一、PNN算法基本介绍
1.算法思想
PNN(ProbabilisticNeural Networks)是一种较为出色的分类算法。
算法利用已分类的数据集,对未分类数据进行计算,得到“激活值”(Activation),在找出利用Winner Take All的原则,找到分类。
对于如何计算激活值下面会进行详细介绍。
2.激活值计算公式
隐藏层节点激活值,这里的隐藏层也便是样本集合(已分类的数据集)。
上诉中是隐藏层第i个节点的激活值, 便是已分类的数据集,F表示带分类的数据。
输出端节点的激活值。
其中便是第j个分类的输出端激活值;N表示样本数据(已分类)的数量;便是上面计算的隐藏层节点的激活值;是光滑参数。
3.算法流程
对于这个算法的流程也是比较好理解:
1.遍历类别;
2.遍历类别中的样本数据;
3.利用公式(1)对隐藏层节点激活值进行计算
4.利用公式(2)对当前分类,计算其激活值;
5.对所有类别激活值,进行比较,找出最大的,并返回类别序号。
二、算法实现
在这里提供这个算法的实现代码:
int pnn_classify()
{double output[CLASSNUM];for(int c = 0 ; c< CLASSNUM ; ++c){output[c]= 0.0;for(int e = 0 ; e< EXAMPLENUM ; ++e){double h = 0.0;for(int d = 0 ; d< DIMENSIONALITY ; ++d){h+= example[d] * dataset[c].example[e].f[d];}output[c]= exp((h-1.0)/pow(sigma,2));}output[c]= output[c] / (double)EXAMPLENUM;}//winner take alldouble maxActivation = 0.0;int iCMax = 0;for (int c = 0 ; c< CLASSNUM ; ++c){if(maxActivation < output[c]){iCMax= c;maxActivation= output[c];}}return iCMax;
}
三、总结
由于笔者不是专门研究人工智能方面,所以在写这些文章的时候,肯定会有一些错误,也请谅解,上面介绍中有什么错误或者不当地方,敬请指出,不甚欢迎。
如果有兴趣的可以留言,一起交流一下算法学习的心得。
声明:本文章是笔者整理资料所得原创文章,如转载需注明出处,谢谢。
Machine Learning---PNN相关推荐
- machine learning分类方法的详细总结
machine learning分类方法的详细总结 有导师学习神经网络的分类 广义回归神经网络(GRNN) 概率神经网络(PNN) 题目及代码 无导师学习神经网络的分类 竞争神经网络 SOFM神经网络 ...
- bff v2ex_语音备忘录的BFF-如何通过Machine Learning简化Speech2Text
bff v2ex by Rafael Belchior 通过拉斐尔·贝尔基奥尔(Rafael Belchior) 语音备忘录的BFF-如何通过Machine Learning简化Speech2Text ...
- 吴恩达新书《Machine Learning Yearning》完整中文版 PDF 下载!
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale资源 推荐人:GithubDaily,Datawhale伙伴 <Mach ...
- 吴恩达《Machine Learning》Jupyter Notebook 版笔记发布!图解、公式、习题都有了
在我很早之前写过的文章<机器学习如何入门>中,就首推过吴恩达在 Coursera 上开设的<Machine Learning>课程.这门课最大的特点就是基本没有复杂的数学理论和 ...
- 吴恩达新书《Machine Learning Yearning》完整中文版开源!
选自Github 来源:机器学习算法与自然语言处理 吴恩达新书<Machine Learning Yearning>完整中文版开源,整理给大家. <Machine Learning ...
- Auto Machine Learning 自动化机器学习笔记
⭐适读人群:有机器学习算法基础 1. auto-sklearn 能 auto 到什么地步? 在机器学习中的分类模型中: 常规 ML framework 如下图灰色部分:导入数据-数据清洗-特征工程-分 ...
- 机器学习与优化基础(Machine Learning and Optimization)
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|新机器视觉 引用大佬Pedro Domingos的说法: ...
- Machine Learning | (12) 非监督学习-k-means
Machine Learning | 机器学习简介 Machine Learning | (1) Scikit-learn与特征工程 Machine Learning | (2) sklearn数据集 ...
- Machine Learning | (11) 回归性能评估与欠拟合、过拟合
Machine Learning | 机器学习简介 Machine Learning | (1) Scikit-learn与特征工程 Machine Learning | (2) sklearn数据集 ...
- Machine Learning | (10) 回归算法-岭回归
Machine Learning | 机器学习简介 Machine Learning | (1) Scikit-learn与特征工程 Machine Learning | (2) sklearn数据集 ...
最新文章
- Science | 机器学习揭示了构建人造蛋白质的秘诀
- 39.原码、反码、补码的转换
- 2019~2020年IDC行业发展趋势预测
- linux——脚本的练习示例三
- OpenCASCADE:调试工具和提示
- 阿里云容器服务全面升级,让云的边界拓展至企业需要的每个场景
- ngixn+tomcat负载均衡 动静分离配置 (nginx反向代理)
- AtCoder-2379 - 连接竹竿 思维 | 数学
- python mysql 正则表达式,MySQL之正则表达式(REGEXP)
- php iis redis,iis windows phpstudy安装redis扩展
- 支付宝回应老年版相互宝质疑:5万、10万互助金额度是合理区间
- [转] 网页不需要漂亮 Ⅰ
- linux ssh应用
- 浙江大学PTA 数据结构 习题2.2 数组循环左移 (20 分)
- 使用bat一键修改ip地址(包括静态、动态ip)
- 雷达测速仪的原理及激光测速枪的应用
- 8.(高级)CSS形状之:菱形图片
- 设备维保管理系统对于设备正常运行的重要性!
- repo init 下载代码error.GitError: manifests ls-remote: usage: git ls-remote
- 一位清华差生9年的北京生活