[置顶].NET平台开源项目速览(13)机器学习组件Accord.NET框架功能介绍
Accord.NET Framework是在AForge.NET项目的基础上封装和进一步开发而来。因为AForge.NET更注重与一些底层和广度,而Accord.NET Framework更注重与机器学习算法以及提供计算机视频、音频、信号处理以及统计应用相关的解决方案。该项目使用C#语言编写,项目主页:http://accord-framework.net/
说明:该文章只是一个基本介绍,主要内容是翻译的官方文档和介绍,部分英文表述个人能力有限,不太熟悉,所以直接照搬原文,有比较确切的知道中文名称的可以提醒一些我,非常感。本人将使用该组件进行一些简单的数据挖掘和机器学习任务,过程和代码都将发表在本博客,有兴趣的可以关注。
NET开源目录:【目录】本博客其他.NET开源项目文章目录
本文原文地址:.NET平台开源项目速览(12)机器学习组件Accord.NET框架功能介绍
1.基本功能与介绍Accord.NET为.NET应用程序提供了统计分析、机器学习、图像处理、计算机视觉相关的算法。Accord.NET框架扩展了AForge.NET框架,提供了一些新功能。同时为.NET环境下的科学计算提供了一个完整的开发环境。该框架被分成了多个程序集,可以直接从官网下载安装文件或者使用NuGet得到。可以参考以下链接:https://github.com/accord-net/framework/wiki
1.1 框架的三大功能模块Accord.NET框架主要有三个大的功能性模块。分别为科学技术,信号与图像处理,支持组件。下面将对3个模型的命名空间和功能进行简单介绍。可以让大家更快的接触和了解其功能是否是自己想要的,下面是主要的命名空间介绍。
1.1.1 科学计算Accord.Math:包括矩阵扩展程序,以及一组矩阵数值计算和分解的方法,也包括一些约束和非约束问题的数值优化算法,还有一些特殊函数以及其他一些辅助工具。
Accord.Statistics:包含概率分布、假设检验、线性和逻辑回归等统计模型和方法,隐马尔科夫模型,(隐藏)条件随机域、主成分分析、偏最小二乘判别分析、内核方法和许多其他相关的技术。
Accord.MachineLearning: 为机器学习应用程序提供包括支持向量机,决策树,朴素贝叶斯模型,k-means聚类算法,高斯混合模型和通用算法如Ransac,交叉验证和网格搜索等算法。
Accord.Neuro:包括大量的神经网络学习算法,如Levenberg-Marquardt,Parallel Resilient Backpropagation,Nguyen-Widrow初始化算法,深层的信念网络和许多其他神经网络相关的算法。具体看参考帮助文档。
1.1.2 信号与图像处理Accord.Imaging:包含特征点探测器(如Harris, SURF, FAST and FREAK),图像过滤器、图像匹配和图像拼接方法,还有一些特征提取器。
Accord.Audio:包含一些机器学习和统计应用程序说需要的处理、转换过滤器以及处理音频信号的方法。
Accord.Vision:实时人脸检测和跟踪,以及对人流图像中的一般的检测、跟踪和转换方法,还有动态模板匹配追踪器。
1.1.3 支持组件主要是为上述一些组件提供数据显示,绘图的控件,分为以下几个命名空间:
Accord.Controls:包括科学计算应用程序常见的柱状图、散点图和表格数据浏览。
Accord.Controls.Imaging:包括用来显示和处理的图像的WinForm控件,包含一个方便快速显示图像的对话框。
Accord.Controls.Audio:显示波形和音频相关性信息的WinForm控件。
Accord.Controls.Vision:包括跟踪头部,脸部和手部运动以及其他计算机视觉相关的任务WinForm控件。
1.2 支持的算法介绍下面将Accord.NET框架包括的主要功能算法按照类别进行介绍。来源主要是官网介绍,进行了简单的翻译和整理。
1.2.1 分类(Classification)SVM(支持向量机)、Logistic Regression(逻辑回归)、Decision Trees(决策树)、 Neural Networks(神经网络)、Deep Learning(深度学习)(Deep Neural Networks深层神经网络)、Levenberg-Marquardt with Bayesian Regularization、Restricted Boltzmann Machines(限制玻耳兹曼机)、Sequence classification (序列分类),Hidden Markov Classifiers and Hidden Conditional Random Fields(隐马尔科夫分类器和隐藏条件随机域)。
1.2.2 回归(Regression)Multiple linear regression(多元线性回归-单因变量多自变量)、Multivariate linear regression(多元线性回归-多因变量多自变量)、polynomial regression (多项式回归)、logarithmic regression(对数回归)、Logistic regression(逻辑回归)、multinomial logistic regression(多项式逻辑回归)(softmax) and generalized linear models(广义线性模型)、L2-regularized L2-loss logistic regression , L2-regularized logistic regression , L1-regularized logistic regression , L2-regularized logistic regression in the dual form and regression support vector machines。
1.2.3 聚类(Clustering)K-Means、K-Modes、Mean-Shift(均值漂移)、Gaussian Mixture Models(高斯混合模型)、Binary Split(二元分裂)、Deep Belief Networks(深层的信念网络)、 Restricted Boltzmann Machines(限制玻耳兹曼机)。聚类算法可以应用于任意数据,包括图像、数据表、视频和音频。
1.2.4 概率分布(Distributions)包括40多个分布的参数和非参数估计。包括一些常见的分布如正态分布、柯西分布、超几何分布、泊松分布、伯努利;也包括一些特殊的分布如Kolmogorov-Smirnov , Nakagami、Weibull、and Von-Mises distributions。也包括多元分布如多元正态分布、Multinomial 、Independent 、Joint and Mixture distributions。
1.2.5 假设检验(Hypothesis Tests)超过35统计假设测试,包括单向和双向方差分析测试、非参数测试如Kolmogorov-Smirnov测试和媒体中的信号测试。contingency table tests such as the Kappa test,with variations for multiple tables , as well as the Bhapkar and Bowker tests; and the more traditional Chi-Square , Z , F , T and Wald tests .
1.2.6 核方法(Kernel Methods)内核支持向量机,多类和多标签向量机、序列最小优化、最小二乘学习、概率学习。Including special methods for linear machines such as LIBLINEARs methods for Linear Coordinate Descent , Linear Newton Method , Probabilistic Coordinate Descent , Probabilistic Coordinate Descent in the Dual , Probabilistic Newton Method for L1 and L2 machines in both the dual and primal formulations .
1.2.7 图像(Imaging)兴趣和特征点探测器如Harris,FREAK,SURF,FAST。灰度共生矩阵,Border following,Bag-of-Visual-Words (BoW),RANSAC-based homography estimation , integral images , haralick textural feature extraction , and dense descriptors such as histogram of oriented gradients (HOG) and Local Binary Pattern (LBP).Several image filters for image processing applications such as difference of Gaussians , Gabor , Niblack and Sauvola thresholding。还有几个图像处理中经常用到的图像过滤器。
1.2.8 音频信号(Audio and Signal)音频信号的加载、解析、保存、过滤和转换,如在空间域和频域应用音频过滤器。WAV文件、音频捕捉、时域滤波器,高通,低通,波整流过滤器。Frequency-domain operators such as differential rectification filter and comb filter with Diracs delta functions . Signal generators for Cosine , Impulse , Square signals.
1.2.9 视觉(Vision)实时人脸检测和跟踪,以及图像流中检测、跟踪、转换的一般的检测方法。Contains cascade definitions , Camshift and Dynamic Template Matching trackers . Includes pre-created classifiers for human faces and some facial features such as noses。
1.3 相关资源从项目主页:http://accord-framework.net/下载的 ldquo;Archive rdquo;压缩包中,包括了几乎所有的在线资源。如下图,介绍几个主要的资源:
Debug是一些用于调试的程序集,Docs是帮助文档,Externals是一些辅助的组件,Release是不同.NET环境的Dll程序集版本,Samples是案例源代码,Setup是安装的程序,Sources是项目的源代码,Unit Tests是单元测试代码。
Accord.NET框架源代码托管在GitHub:
https://github.com/accord-net/framework/
上面有大量的入门资源和教程,例如,查看页面右边的列表栏切换:
相关文章
- [置顶].NET平台开源项目速览(6)FluentValidation验证组件介绍与入门(一)
- .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)
- 使用 Visual Studio 部署 .NET Core 应用 ——.Net Core 部署到Ubuntu 16.04
- .NET Core开源Quartz.Net作业调度框架实战演练
- .NET开源分布式日志框架ExceptionLess实战演练(公开版)
- .NET 开源Protobuf-net从入门到精通
- C#.NET常见问题(FAQ)-如何让文本框textbox内容靠右显示
- .NET(C#) Internals: as a developer, .net framework in my eyes
- Asp.Net Web API 2第三课——.NET客户端调用Web API
- .Net使用RabbitMQ详解
- 机器学习笔记 - U-Net论文解读
- 对象池在 .NET (Core)中的应用[1]: 编程篇
- ASP.NET Core的配置(3): 将配置绑定为对象[上篇]
- 在64位机器上使用plSQL连接Oracle的问题(SQL*Net not properly installed)
- Atitit ..Net Framework sdk 3.0 3.5 4.04.5 4.6 4.7 .net core版本新特性 v2 s22 1. 新特性来源于 down ms 官方网站1
- Atitit.注解解析(1)---------词法分析 attilax总结 java .net
- atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 。打开浏览服务器文件夹java .net php
- VB.net:VB.net编程语言学习之基于VS软件利用VB.net语言实现对SolidWorks进行二次开发的案例应用(启动SolidWorks代码/直接驱动模型代码/路径下模型驱动代码/创建两个文
- .Net——使用.net内置处理程序处理自己定义节点Demo
- 行人重识别0-10:DG-Net(ReID)-代码无死角解读(6)-lsgan损失及教师网络
- 市场最快图表:LightningChart .NET v.10.4.1 Crack