Questions tagged «feature-construction»

特征工程是使用数据的领域知识为机器学习模型创建特征的过程。此标记适用于与功能工程有关的理论和实践问题,但不包括要求代码的问题,这些问题在CrossValidated上不合时宜。

2
了解功能哈希
Wikipedia在描述特征哈希时提供了以下示例;但映射似乎与定义的字典不一致 例如,to应3根据字典进行转换,但是将其编码为1。 描述中有错误吗?功能哈希如何工作? 文本: John likes to watch movies. Mary likes too. John also likes to watch football games. 可以使用字典进行转换 {"John": 1, "likes": 2, "to": 3, "watch": 4, "movies": 5, "also": 6, "football": 7, "games": 8, "Mary": 9, "too": 10} 到矩阵 [[1 2 1 1 1 0 0 0 1 …

1
处理非常大的时间序列数据集
我可以访问非常大的数据集。数据来自四种类型之一的人们在听音乐摘录时的MEG录音。数据如下: 6个科目 3次实验重复(时期) 每个时期120次试用 275个MEG通道在500Hz(= 4000个样本)下每次试验8秒的数据 因此,这里的每个“示例”都是一个大小为[4000x275]的矩阵,并且有2160个此类示例,并且在进行任何特征提取之前。目的是根据大脑信号(4类分类)预测类型。 显然,这里存在一些具有挑战性的问题,即: 数据集不适合内存 数据中将存在很强的时间相关性,并且受试者间的差异将很大。结果,如何分割数据并不明显 信噪比非常低 目前尚不清楚分类器的正确功能是什么 依次进行以下操作: 一个人可以做很多事情。首先,我们可以安全地将采样频率从500Hz降低到200Hz,因为即使考虑到奈奎斯特极限,大脑活动也不会真正发生在100Hz以上。我们也可以从一组渠道中进行抽样(例如,在听觉区域上方居中),但我们不愿先验,因为在其他区域(额叶等)可能会有一些有趣的活动。我们可能还可以删除一部分时间窗口。也许只有前2个对任务很重要?这不是真的。当然每个人都会大喊“ 降维!”,但这也不是一件容易的事。首先,我们必须非常小心地进行训练/测试拆分(请参阅2.),并且在生成特征之前还是之后也不很明显。其次,除了昂贵之外交叉验证或艰苦的视觉检查,没有明显的方法来选择合适的方法或合适的尺寸,我们当然可以仅使用PCA,ICA或随机投影,并希望获得最好的结果。 这很棘手。如果我们在训练集中有连续的样本,我们可能会过度拟合训练集,而如果我们将连续的样本分成训练和测试集,则我们可能会不足以适应训练集,但仍然可能会过度拟合测试集。这里似乎有多种选择: 单科目分类。各个科目各取所需,并根据时代划分。这应该是最简单的任务,因为我们没有试图跨大脑进行预测。在这个范围内,可以使用两个剩余的时期进行交叉验证。为了完整性,应该旋转所有组合。我们只报告所有主题的平均准确性。当然,我们不会期望这些模型能很好地推广。 学科内分类。将所有主题放在一起,并根据时代划分。实际上,这可能是最简单的任务,因为我们将看到所有受训的对象。但是,我们可能不会期望这些模型能很好地推广到新主题。在这个范围内,可以使用两个剩余的时期进行交叉验证。为了完整性,应该旋转所有组合。 学科间分类。也称为“留一法”,其中将单个科目作为测试数据,其余的用于训练。然后,我们将轮流浏览所有主题。然后将对主题执行交叉验证。我们希望这将是一个更加困难的任务,因为我们每次都试图在一个“新大脑”上进行预测。尽管存在重测信度(即时间相关性导致多少过度拟合)的问题,但我们希望模型能够很好地推广到更大的人群。 这是一个典型的“大海捞针”问题-与音乐体裁或任何体裁特定处理有关的实际信号与大脑活动的“汤”相比可能微不足道。还有一些伪造品,只能被部分去除(主要与移动有关)。我们从数据中得出的任何特征以及处理数据的任何方式都应避免破坏部分感兴趣的信号。 在这里可以想象做各种事情。第一种是简单地将原始数据(连接到向量中)用作特征向量。我不确定这会带来多大的收获-我认为这些向量本质上可能是统一随机的。这确实是一个信号处理问题,但是可以遵循一些一般准则。一种方法是在滑动窗口上进行标准傅里叶分析,从中可以将分量分成不同的频带(α/β/γ等),并将这些统计量(平均值,标准偏差)用作特征。或者可以使用小波,希尔伯特变换,甚至尝试寻找混沌吸引子。当然,我们可以选择内核(线性,多项式,RBF等),以乘以排列的数量。也许最好的做法是生成尽可能多的不同功能集,然后使用MKL或增强方法将它们组合在一起。 您将如何处理这种数据集(如果不是专门的话)?一路上我有什么想念的吗?如果不花费大量的研究时间和计算资源,最可能成功的策略是什么?

1
为什么随机傅立叶特征非负?
随机傅里叶特征提供了内核函数的近似值。它们用于各种内核方法,例如SVM和高斯进程。 今天,我尝试使用TensorFlow实现,但我的一半功能却得到了负值。据我了解,这不应该发生。 因此,我回到了原论文上,就像我期望的那样,该论文说这些功能应该存在于[0,1]中。但是它的解释(在下面突出显示)对我来说没有意义:余弦函数可以在[-1,1]中的任何位置产生值,并且显示的大多数点都具有负余弦值。 我可能缺少明显的东西,但是如果有人可以指出它是什么,我将不胜感激。

3
机器学习排名算法
我有一组元素,我可以根据特征来描述它们。从而:XXXññn X一世:{C我1,C我2,… ,C我ñ} |X一世∈ XX一世:{C一世1个,C一世2,…,C一世ñ}∣X一世∈Xx_i: \{c_{i1}, c_{i2}, \ldots, c_{in}\} \mid x_i \in X 其中是根据特性对元素的(数值)评估。因此,我的元素可以视为维空间中的点。C我ĴC一世Ĵc_{ij}一世一世iĴĴjññn 根据我的阅读,存在诸如“贝叶斯分类器”之类的算法,可以对我的集合中的任何元素提供“是”或“否”类型的答案,但前提是我确实使用了由一些我的集合中的元素以及算法的预期结果。基于该数据,该算法应该能够采用任何其他元素,而不是训练集的一部分,并根据从训练集中学到的知识提供“是”或“否”的答案。如果您对期望的内容(训练集)有某种想法,但不确定如何产生此结果的特定规则,那么这很好。 我想对数据进行的处理不会得到“是”或“否”类型的答案,但是我想在元素中引入一个排名。其中一些比其他“更好”。就像贝叶斯过滤器一样,我对期望值有一个大致的了解。因此,我可以从元素的子集中生成一个“培训排名”,并将其输入到MLA中。根据该训练,我可以对我的整个作品进行排名。 为此,我看到两种方法: MLA将为每个元素评分,然后根据该评分对元素进行排名。 MLA可以采用两个元素和并确定其中一个更好(成对比较)。使用该比较操作使用quicksort。X一世X一世x_iXĴXĴx_j 注意:基于分数,成对函数很容易实现,而基于成对函数,生成分数很简单,因此这只是两个产生相同结果的方法。 是否有MLA可以提供评分功能或成对比较功能的示例? 编辑:为了添加更多上下文:当前,我的项目是根据一种算法进行排名的,该算法通过对进行计算来生成每个项目的得分(实数)。尽管生成的排名非常正确,但是我经常必须修改算法以某种方式对其进行调整,因为我可以清楚地看到一些未按我期望的排名的项目。C一世ĴC一世Ĵc_{ij} 所以目前我的设计过程是: 了解什么是完美的排名 尝试(手动)派生一个算法来对此类项目进行排名 观察结果 调整算法 所以我考虑了MLA,因为我的过程的起点就是可以用作训练数据。我可能会以当前的排名开始,根据我的需求交换项目并将其提供。

6
如何准备/构造异常检测功能(网络安全数据)
我的目标是使用群集/异常检测(用于入侵检测)分析网络日志(例如Apache,syslog,Active Directory安全审核等)。 从日志中,我有很多文本字段,例如IP地址,用户名,主机名,目标端口,源端口等等(总共15-20个字段)。我不知道日志中是否存在一些攻击,并且想突出显示最可疑的事件(异常值)。 通常,异常检测将概率/频率较低的点标记为异常。但是,一半的日志记录包含字段的唯一组合。因此,数据集中的一半记录将具有最低的频率。 如果我使用基于聚类的异常检测(例如,找到聚类,然后选择远离所有聚类中心的点),则需要找到不同点之间的距离。由于我有15-20个字段,因此它将是一个多维空间,其中维是用户名,端口,IP地址等。但是,马氏距离只能应用于正态分布的要素。这意味着无法找到数据点之间的距离并构造聚类... 例如,假设我在20条记录的数据集中有用户Alice,Bob,Carol,Dave,Eve和Frank。它们在数据库中可能具有以下发生次数:2,5,2,5,1,5。如果我只是将用户名映射到数字,例如 Alice --> 1 Bob --> 2 Carol --> 3 Dave --> 4 Eve --> 5 Frank --> 6 然后,我的用户名概率分布将如下所示: p(1)= 0.1,p(2)= 0.25,p(3)= 0.1,p(4)= 0.25,p(5)= 0.05,p(6)= 0.25 当然,这不是正态分布,也没有太大意义,因为我可以以任何不同的方式映射用户名... 因此,用户名,操作,端口号,IP地址等字段到数字的简单映射不会带来任何影响。 因此,我想问一下,通常如何处理文本字段/构造特征以使无监督的异常/异常检测成为可能? 编辑:数据结构。 我在数据库表中大约有100列,其中包含来自Active Directory事件的信息。从这100列中,我选择最重要的(从我的角度来看):SubjectUser,TargetUser,SourceIPaddress,SourceHostName,SourcePort,计算机,DestinationIPaddress,DestinationHostName,DestinationPort,操作,状态,FilePath,EventID,WeekDay,DayTime。 事件是Active Directory事件,其中EventID定义了记录的内容(例如,创建Kerberos票证,用户登录,用户注销等)。 数据样本如下所示: + ------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -+ | ID …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.