机器学习算法选择

时间:2013-03-08 11:07:52

标签: machine-learning

我是机器学习的新手。我的问题是根据他的位置和感兴趣的区域,让学生为学生选择一所大学。即它应该选择同一个城市的大学和学生的地址。我在选择算法时感到困惑,我可以使用Perceptron算法来完成这项任务。

6 个答案:

答案 0 :(得分:1)

对于哪种机器学习算法最适合哪项任务,没有严格的规则。你最好的选择是尝试几个,看看哪一个能达到最佳效果。您可以使用Weka toolkit,它实现了许多不同的机器学习算法。是的,您可以使用感知器算法来解决您的问题 - 但这并不是说您可以使用它获得良好的效果。

根据您的描述,听起来您尝试解决的问题并不需要机器学习。如果您想要做的就是将学生与在学生感兴趣的领域提供课程的最近的大学相匹配,您可以在没有任何学习的情况下完成此任务。

答案 1 :(得分:1)

如果学生必须住在与大学相同的区域,那么我第二次说你可能不需要机器学习。如果你想使用ML算法,也许最好考虑一下你必须从哪个数据开始。想到的是一个大学的矢量,每个特征都有一定的主题/区域。然后计算距离矢量的距离,该矢量就像学生的理想特征向量。尽量减少这个距离。

答案 2 :(得分:1)

您需要的第一个和最重要的东西是带标签的数据集。

听起来这个问题可能会被分解成ML问题,但是你首先需要一组正面和负面的例子来训练。

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

答案 5 :(得分:0)

嗯,这个问题没有简单明了的答案。答案取决于许多因素,例如问题陈述和所需的输出类型,数据的类型和大小,可用的计算时间,功能数量以及数据中的观察结果,等等。

  1. 训练数据的大小

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

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

  1. 速度或训练时间

更高的精度通常意味着更长的培训时间。而且,算法需要更多时间来训练大型训练数据。在实际应用中,算法的选择主要由这两个因素决定。

诸如朴素贝叶斯(NaïveBayes)和线性回归和逻辑回归的算法易于实现且运行迅速。支持向量机之类的算法涉及参数调整,收敛时间长的神经网络和随机森林,它们需要大量时间来训练数据。

  1. 线性度

许多算法都基于这样的假设,即类可以用一条直线(或其高维模拟)分开。示例包括逻辑回归和支持向量机。线性回归算法假设数据趋势遵循一条直线。如果数据是线性的,那么这些算法的效果会很好。

  1. 功能数量

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