【机器学习】 Matlab 2015a 自带机器学习算法汇总

MATLAB机器学习没看到啥教程,只有一系列函数,只好记录下:

MATLAB每个机器学习方法都有很多种方式实现,并可进行高级配置(比如训练决策树时设置的各种参数)

,这里由于篇幅的限制,不再详细描述。我仅列出我认为的最简单的使用方法。详细使用方法,请按照我给出的函数名,在matlab使用如下命令,进行查阅。

doc <函数名>

【正文

Matlab用于训练机器学习模型的函数主要分为三类:

  1. 有监督学习
  2. 无监督学习
  3. 集成学习

1.有监督学习:

类名

方法名

函数名

说明

线性回归

多元线性回归

fitlm

具有多个预测变量的线性回归

逐步回归

stepwise

交互式逐步回归

多目标的多元线性回归

mvregress

使用多变量输出的线性回归

有正则化的多元线性回归

lasso

使用弹性网正则化的多元线性回归

ridge

Ridge回归

非线性回归

fitnlm

拟合非线性回归模型

广义线性模型

正态分布拟合

fitglm

\'Distribution\' 设置为 \'normal\'

二项分布拟合

fitglm

\'Distribution\' 设置为 \'binomial\'

泊松分布拟合

fitglm

\'Distribution\' 设置为 \'poisson\'

gamma分布拟合

fitglm

\'Distribution\' 设置为 \'gamma\'

反高斯分布拟合

fitglm

\'Distribution\' 设置为 \'inverse gaussian\'

进行变量选择的逐步回归

stepwiseglm

交互式逐步回归

带有正则化的广义线性回归

lassoglm

使用弹性网正则化的广义线性回归

回归分类

决策树

(CART)

分类树

fitctree

训练分类二叉决策树

回归树

fitrtree

训练回归二叉决策树

支持

向量机

二分类支持向量机

fitcsvm

训练二分类支持向量机分类

多分类支持向量机

fitcecoc

适用SVM或其他分类器的多类模型

判别分析

fitcdiscr

拟合判别分析分类器

朴素贝叶斯分类器

fitcnb

训练朴素贝叶斯分类

最近邻

k-近邻

fitcknn

拟合k-近邻分类器

2.无监督学习:

类名

方法名

函数名

说明

分层聚类

通过聚类树进行聚类

cluster

返回聚类后各样本类别

通过数据进行聚类

clusterdata

返回聚类后各样本类别

分成聚类树

linkage

训练分层聚类树

通过距离聚类

K-means聚类

kmeans

K-medoids聚类

kmedoids

最近邻

全局最近邻搜索

ExhaustiveSearcher

准备全局最近邻居搜索

KD树搜索

KDTreeSearcher

生成KD树

createns

使用KD树搜索

KNN搜索

knnsearch

使用Kd-tree或全局k-最近邻搜索

范围搜索

rangesearch

使用全局与Kd-tree查找指定范围的近邻

高斯混合模型

高斯混合模型

fitgmdist

拟合高斯混合模型

基于高斯混合模型的聚类

cluster

生成基于高斯混合模型的聚类

隐马尔可夫模型

估计隐马尔可夫模型

hmmtrain

通过观测估计隐马尔科夫模型参数

hmmestimate

通过状态和观测估计参数

生成观测序列

hmmgenerate

生成隐马尔可夫模型状态和观测

最可能状态路径

hmmviterbi

计算最可能的状态路径

后验状态概率

hmmdecode

计算隐马尔可夫模型后验状态概率

3. 集成学习:

类名

方法名

函数名

说明

Boosting

二分类:AdaBoostM1

fitensemble

\'Method\' 配置为 \'AdaBoostM1\'

二分类:LogitBoost

fitensemble

\'Method\' 配置为 \' LogitBoost\'

二分类:GentleBoost

fitensemble

\'Method\' 配置为 \' GentleBoost\'

二分类:RobustBoost

fitensemble

\'Method\' 配置为 \' RobustBoost\'

多分类: AdaBoostM2

fitensemble

\'Method\' 配置为 \' AdaBoostM2\'

多分类: LPBoosts

fitensemble

\'Method\' 配置为 \' LPBoosts\'

多分类:TotalBoost

fitensemble

\'Method\' 配置为 \' TotalBoost\'

多分类:RUSBoost

fitensemble

\'Method\' 配置为 \' RUSBoost\'

回归:LSBoost

fitensemble

\'Method\' 配置为 \'LPBoost\'

提升二分类为多分类模型

fitcecoc

基于二分类模型训练多分类模型

Bagging(多分类或回归)

fitensemble

\'Method\' 配置为 \'Bag\'

随机子空间(多分类或回归)

fitensemble

\'Method\' 配置为 \'Subspace\'