[CODE] Dahua Lin贡献的两个开源软件
Dahua Lin大家应该比较清楚,CV界的牛人,MIT的博士,在港中文读硕士的时候就发了11篇一作的文章,包括PAMI和CVPR,博士期间更是牛,2010年NIPS best student paper。他的主页上也贡献了两个开源的软件。
Basic Computation Supporting Library (BCSLib)
This is a C++ library to provide basic support to various computation tasks. The library comprises the following modules:
- Base module: basic algorithms, memory management support, and meta-programming support
- Array module: template classes to represent vectors, matrices, vector and matrix views using different indexing, as well as functions to manipulate vectors and matrices.
- Data structure module: template classes and functions that implement various data structures, such as heaps, disjoint sets, and different types of trees.
- Graph module: template classes to represent graphs, and generic graph algorithms including BFS, DFS, topological sorting, shortest path algorithms, and minimum spanning tree algorithms.
Statistical Modeling and Inference Toolbox
This is a MATLAB Toolbox to support statistical learning and inference. It comprises over 300 functions, ranging from classic algorithms such as Principle Component Analysis (PCA) and K-Means, to advanced probabilistic models such as Latent Dirichlet Allocation and nonparametric Bayesian. Specifically, the toolbox is composed of the following modules:
- Base module: basic but useful functions for data manipulation, pairwise metric computation, and efficient routines to deal with the calculation on large amount of small matrices.
- Optim module: functions for nonlinear optimization (e.g. Newton and BFGS), and wrappers for LP\QP solvers, as well as functions to solve optimization problems of specific forms
- Classic module: a collection of classic algorithms
- KNN-classification, K-means and K-medoid clustering, ROC Analysis
- Linear regression, Logistic regression, Robust regression, Generic regularized loss minimization
- Subspace learning: Principal Component Analysis, Fisher Linear Discriminant Analysis, Independent Component Analysis
- Support vector machines for classification, regression, and ranking.
- Graph module: a collection of functions to solve graph-related problems.
- Functions to efficiently represent and manipulate graphs
- Classic graph algorithms: BFS, DFS, Connect components, Shortest paths, Minimum spanning trees, etc.
- Network flow algorithms: maximum flow minimum cut.
- Algorihms based on spectral graph theory: Graph embedding and normalized cut.
- P-Model module: classes and functions for probabilistic modeling and inference.
- Evaluation and sampling of well-known distributions: Gaussian distribution, Gamma distribution, Dirichlet distribution, Wishart distribution, and inverse Wishart distribution, etc. This toolbox provides more efficient implementation than MATLAB's statistics toolbox on many functions.
- Markov models: Markov chains, Markov random fields and Hidden Markov Models
- Finite mixture models and Dirichlet process Mixture models.
- Topic models, such as Latent Dirichlet Allocation.
链接: