MATLAB机器学习没看到啥教程,只有一系列函数,只好记录下:
MATLAB每个机器学习方法都有很多种方式实现,并可进行高级配置(比如训练决策树时设置的各种参数) ,这里由于篇幅的限制,不再详细描述。我仅列出我认为的最简单的使用方法。详细使用方法,请按照我给出的函数名,在matlab使用
如下命令,进行查阅。 doc <函数名>
【正文
】 Matlab用于训练机器学习模型的函数主要分为三类:
- 有监督学习
- 无监督学习
- 集成学习
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’ |