[我正在接近这个机器学习的局外人。这似乎是一个分类问题,我应该能够通过机器学习以相当好的准确度解决。]
培训数据集:
我有数百万个网址,每个网址都标有特定类别。类别数量有限(50-100)。
现在给出一个新的URL,我想将其分类为其中一个类别。可以使用传统方法从URL确定类别,但是需要巨大的无法管理的模式匹配混乱。
所以我想构建一个INPUT为URL
的框,OUTPUT为Category
。如何构建由ML驱动的盒子?
尽管我很想理解数学如何在数学上得到解决的基本原理,但现在更多地关注于完成它,所以我对所涉及的系统和过程的概念性理解是我所期待的得到。我认为机器学习正是以这种方式处理合理直接的问题 如果你觉得我错了,我需要深入了解基础以获得ML的价值,请告诉我。
我正在AWS生态系统中构建这个,所以我愿意使用Amazon ML,如果它能让事情变得更快更简单。
答案 0 :(得分:1)
我认为机器学习正是以这种方式处理合理直接的问题。
不是。构建有效的ML解决方案既需要了解问题范围/约束(在您的情况下,新的类别随着时间的推移?运行时要求?执行频率?延迟要求?错误成本?等等!)。然后,这些约束将影响您可能会看到的特征工程/处理类型,以及您将看到的模型类型。您的特定问题也可能与非I.I.D.有关。数据,这是大多数ML方法的假设。这会影响您评估模型准确性的方式。
如果您想学习足够的ML来解决此问题,您可能需要开始查看恶意URL分类中完成的工作。可以找到一个例子here。虽然你可以在不了解ML的情况下“破解”自己的方式,但我个人不相信任何以这种方式构建的解决方案。
答案 1 :(得分:0)
如果你觉得我错了,我需要深入了解基础,以便从ML中获得价值,请告诉我。
好的,我会咬人。
目前有两种与预测相关的思想流派:“机器学习者”与统计学家。前一组几乎完全侧重于实际和应用预测,使用 k - 交叉验证,套袋等技术,而后者则更多地关注统计理论和研究方法。你似乎陷入了机器学习阵营,这很好,但是你说这个:
尽管我很想理解数学如何在数学上得到解决的基本原理,但现在更多地关注于完成它,所以我对所涉及的系统和过程的概念性理解是我所期待的得到。
虽然“对所涉及的系统和过程的概念性理解”是进行高级分析的先决条件,但如果您是进行分析的,那么是不够的(这对于一位经理,他没有那么接近建模。)
通过对逻辑回归模型中发生的事情的一般概念,您可能会将所有统计假设(重要)抛向风。您是否知道是否不应包含某些功能或组,因为该组中没有足够的观察值来使测试统计有效?当您的方差 - 通货膨胀因素较高时,您的预测和假设会发生什么?
在进行统计时,这些都是重要的考虑因素,人们常常会看到做from sklearn.svm import SVC
或类似事情并且疯狂地行动是多么容易。这就是你的脚踝周围的裤子被抓住了。
如何构建由ML驱动的此框?
您似乎对如何处理机器/统计学习问题没有基本的了解。我高度建议您参加“统计学习简介” - 或“回归建模简介”类课程,以便考虑如何将您拥有的URL转换为具有重要意义的有意义的功能功率预测URL类。考虑如何将URL分解为单个部分,这些部分可能会提供某些URL所属的类的信息。如果您按体育对espn.com
域进行分类,那么从nba
解析http://www.espn.com/nba/team/roster/_/name/cle
非常重要,您不觉得吗?
祝你的项目好运。
编辑:
尽管如此,为了推动你:每个ML问题归结为一些函数映射输入到输出。您的输出是URL类。您的输入是网址。但是,机器只能理解数字,对吧?网址不是数字(AFAIK)。因此,您需要找到一种方法,将URL中包含的信息转换为我们称之为“功能”或“变量”的信息。在那里开始的地方是每个网址的one-hot encoding个不同部分。想想为什么我提到上面的ESPN示例,以及为什么我从URL中提取nba
之类的信息。我这样做是因为,如果我试图预测某个特定网址涉及哪项运动,nba
是一个死的赠品(即它很可能是对运动的高度预测)。