用Matlab学习机器学习是一个很有趣的体验,文档丰富,函数完整,很容易上手。
一、监督学习
1. 监督学习工作流程和算法
链接:Supervised Learning Workflow and Algorithms
该文档介绍了:
- 监督学习是什么?
- 监督学习的步骤包括:
- 准备数据(Prepare Data)
- 选择算法(Choose an Algorithm)
- 拟合模型(Fit a Model)
- 选择评价方法(Choose a Validation Method)
- 检查拟合程度直到满意(Examine Fit and Update Until Satisfied)
- 用最终的模型进行预测(Use Fitted Model for Predictions)
- 监督学习算法和对应的函数包括:
- 分类树(Classification Trees):fitctree
- 回归树(Regression Trees):fitrtree
- 判别分析(Discriminant Analysis (classification)):fitcdiscr
- k近邻(k-Nearest Neighbors (classification)):fitcknn
- 朴素贝叶斯(Naive Bayes (classification)):fitcnb
- 支持向量机(Support Vector Machines (SVM) for classification):fitcsvm
- 支持向量机(SVM for regression):fitrsvm 注:该函数只适用于二分类问题。如果要使用SVM进行多分类,使用 fitcecoc 函数!
- 供支持向量机或其他分类器使用的多分类模型(Multiclass models for SVM or other classifiers):fitcecoc
- 分类集成学习(Classification Ensembles):fitcensemble
- 回归集成学习(Regression Ensembles):fitrensemble
- 分类算法的特点:参见文档中最后两个表格。
2. 使用最近邻进行分类
链接:Classification Using Nearest Neighbors
该文档介绍了:
- 距离度量方法:欧式距离、曼哈顿距离、切比雪夫距离等等
- k近邻搜索方法:穷尽搜索(Exhaustive Search)和KD树(Kd-Tree)搜索,以及它们的适用条件
- 使用Matlab中的k近邻:使用 fitcknn 建立k近邻分类器、检查分类器的质量(评价分类器)、使用分类器进行分类和修改分类器等等
二、无监督学习
学习到无监督学习再补充。