【问题标题】:Machine Learning Algorithm selection机器学习算法选择
【发布时间】:2020-07-10 16:36:31
【问题描述】:

我是机器学习的新手。我的问题是制造一台机器来根据学生的位置和感兴趣的领域为学生选择一所大学。即它应该选择与学生地址相同城市的大学。我对算法的选择感到困惑,我可以使用感知器算法来完成这项任务吗?

【问题讨论】:

    标签: machine-learning


    【解决方案1】:

    对于哪种机器学习算法最适合哪种任务,没有硬性规定。最好的办法是多试几次,看看哪一种效果最好。你可以使用Weka toolkit,它实现了很多不同的机器学习算法。是的,你可以使用感知器算法来解决你的问题——但这并不是说你会用它取得好的结果。

    从您的描述看来,您尝试解决的问题实际上并不需要机器学习。如果您只想将学生与提供该学生感兴趣领域课程的最近大学相匹配,则无需任何学习即可完成。

    【讨论】:

      【解决方案2】:

      我同意第一条评论,如果学生必须与大学生活在同一地区,您可能不需要机器学习。如果您想使用 ML 算法,也许最好考虑您必须从哪些数据开始。想到的是大学的向量,每个特征都有特定的学科/领域。然后计算与一个向量的距离,该向量就像学生的理想特征向量。尽量减少这个距离。

      【讨论】:

        【解决方案3】:

        您首先需要的是一个带标签的数据集。

        听起来问题可以分解为 ML 问题,但是您首先需要一组正样本和负样本进行训练。

        您的数据集有多大?你有哪些可用的功能?回答完这些问题后,您可以选择最适合您的数据特征的算法。

        【讨论】:

          【解决方案4】:

          我建议对这个问题使用类似于一组 if else 规则的决策树。您可以将学生的位置和感兴趣的区域作为 if 和 else if 语句的条件,然后为他推荐一所大学。由于它是输入到输出的直接映射,因此基于规则的解决方案可以工作,而且这里不需要学习。

          【讨论】:

            【解决方案5】:

            也许您可以使用“推荐系统”或聚类方法,您可以更深入地研究“协同过滤”(推荐系统)或 k-means(聚类)等技术,但正如某些人所说,首先您需要数据来学习,也许你的问题可以在没有 ML 的情况下解决。

            【讨论】:

              【解决方案6】:

              嗯,这个问题没有直接而确定的答案。答案取决于许多因素,例如问题陈述和您想要的输出类型、数据的类型和大小、可用的计算时间、特征数量以及数据中的观察值等等。

              1. 训练数据的大小

              2. 输出的准确性和/或可解释性

              模型的准确性意味着该函数预测给定观察的响应值,该响应值接近该观察的真实响应值。高度可解释的算法(限制性模型,如线性回归)意味着人们可以轻松理解任何单个预测变量如何与响应相关联,而灵活的模型以低可解释性为代价提供更高的准确性。

              1. 速度或训练时间

              更高的准确度通常意味着更长的训练时间。此外,算法需要更多时间来训练大型训练数据。在实际应用中,算法的选择主要受这两个因素的驱动。

              朴素贝叶斯、线性和逻辑回归等算法易于实施且运行迅速。像支持向量机这样涉及参数调整的算法、具有高收敛时间的神经网络和随机森林,需要大量时间来训练数据。

              1. 线性度

              许多算法都假设类可以用一条直线(或其更高维的类比)分隔。示例包括逻辑回归和支持向量机。线性回归算法假设数据趋势遵循一条直线。如果数据是线性的,那么这些算法的性能相当不错。

              1. 功能数量

              数据集可能包含大量可能并非全部相关且重要的特征。对于特定类型的数据,例如遗传学或文本数据,与数据点的数量相比,特征的数量可能非常大。

              【讨论】: