如何选择合适的机器学习算法?
根据你的业务场景,可以从下面这张微软提供的图清单的问题出发:1
- 从文本中提取信息任务:文本分析算法,如N-Gram语言模型、特征哈希、文本预处理、Word2Vec等。
- 预测数值任务:Regression回归算法,详情参考logistic-regression。
- 分类任务:Classification算法,判别对象所属的类别,比如SVM, nearest neighbors, random forest
- 在两个类别中预测:Two-class Classification 二分类。
- 在多个类别中预测:Multiclass Clasification 多分类。
- 图像分类任务:用流行的CNN模型对图像进行分类。
- 发现结构任务:聚类算法,比如K-Means,回答如How is this organized?这类问题。
- 生成推荐任务:推荐算法,比如SVD Recommender协同过滤,回答如What will they be interested in?这类问题。
- 发现异常情况:Anomaly Detection 异常检测算法,如One Class SVM、PCA-Based Anomaly Detection等。
机器学习的分类
机器学习主要分为三类:监督学习,无监督学习和强化学习。
监督学习
在监督学习中,每个数据点都被标记或与感兴趣的类别或值相关联。分类标签的一个示例是将图像分配为“猫”或“狗”。价值标签的一个示例是与二手车相关的销售价格。监督学习的目的是研究许多像这样的标记示例,然后能够对未来的数据点做出预测。例如,识别具有正确动物的新照片或为其他二手车分配准确的销售价格。这是一种流行且有用的机器学习类型。
无监督学习
在无监督学习中,数据点没有与之关联的标签。相反,无监督学习算法的目标是以某种方式组织数据或描述其结构。像K-means一样,无监督学习将数据分组到群集中,或者找到查看复杂数据的不同方法,从而使其看起来更简单。
强化学习
在强化学习中,该算法可以根据每个数据点选择一个动作。这是机器人技术中的一种常见方法,其中某个时间点的一组传感器读数是一个数据点,并且算法必须选择机器人的下一个动作。它也是物联网应用程序的自然选择。学习算法不久后还会收到奖励信号,表明该决策的效果如何。基于该信号,该算法修改其策略以获得最高奖励。
https://docs.microsoft.com/en-us/azure/machine-learning/algorithm-cheat-sheet?WT.mc_id=docs-article-lazzeri ↩︎