我想自学足够的机器学习知识,以便我能够首先充分了解并使用可用开源机器学习框架,这些框架将使我能够执行以下操作:
浏览页面的 HTML 源代码 从某个网站并“理解” 哪些部分构成内容, 哪些广告和哪些 形成元数据(既不是 内容,也不是广告 - 例如。 - TOC、作者简介等)
浏览页面的 HTML 源代码 来自不同站点并“分类” 该网站是否属于 是否预定义类别(列表 将提供类别 事先)1.
...类似的分类任务 文本和页面。
如您所见,我的直接要求是对不同数据源和大量数据进行分类。
就我有限的理解而言,采用神经网络方法比使用 SVM 需要大量的训练和维护?
我知道 SVM 非常适合像我这样的(二进制)分类任务,并且像 libSVM 这样的开源框架相当成熟?
In that case, what subjects and topics does a computer science graduate need to learn right now, so that the above requirements can be solved, putting these frameworks to use?
我想远离 Java,这是可能的,而且我没有其他语言偏好。我愿意学习并付出尽可能多的努力。
我的目的不是从头开始编写代码,而是首先将各种框架可供使用(尽管我不知道足以决定使用哪个),并且我应该能够修复问题出错。
您对学习统计和概率论的特定部分的建议对我来说并不意外,所以如果需要的话请说!
如果需要,我会根据您的所有建议和反馈修改此问题。
最佳答案
机器学习中的“理解”相当于拥有一个模型。例如,模型可以是支持向量的集合、神经网络的布局和权重、决策树等。哪种方法最有效实际上取决于您学习的主题以及训练数据的质量。
就您的情况而言,从 HTML 网站集合中学习,您会首先对数据进行预处理,此步骤也称为“特征提取”。也就是说,您从正在查看的页面中提取信息。这是一个困难的步骤,因为它需要领域知识,并且您必须提取有用的信息,否则您的分类器将无法做出很好的区分。特征提取将为您提供一个数据集(每行包含特征的矩阵),您可以从中创建模型。
通常在机器学习中,建议还保留一个“测试集”,您不使用它来训练模型,但您将在最后使用它来决定什么是最佳方法。在建模步骤结束之前保持测试集隐藏是极其重要的!测试数据基本上会提示您模型正在产生的“泛化错误”。任何具有足够复杂性和学习时间的模型都倾向于准确地学习您训练它所用的信息。机器学习者表示该模型“过度拟合”训练数据。这样的过拟合模型看起来似乎不错,但这只是内存而已。
虽然对数据预处理的软件支持非常稀疏且高度依赖于领域,正如 adam 提到的 Weka是一个很好的免费工具,一旦您拥有数据集,就可以应用不同的方法。我建议阅读几本书。 Vladimir Vapnik 撰写了《统计学习理论的本质》,他是 SVM 的发明者。你应该熟悉建模的过程,所以一本关于机器学习的书绝对是非常有用的。我还希望一些术语可能对您找到解决办法有所帮助。
关于machine-learning - 计算机科学研究生需要学习哪些科目、主题来应用可用的机器学习框架,尤其是。支持向量机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3764444/