标签: supervised-learning

监督学习和无监督学习有什么区别?

在人工智能和机器学习方面,有监督和无监督学习有什么区别?您能举例说明一个基本的,简单的解释吗?

artificial-intelligence machine-learning unsupervised-learning supervised-learning

271
推荐指数
9
解决办法
17万
查看次数

Scikit-learn:如何获得真阳性,真阴性,假阳性和假阴性

我是机器学习和scikit-learn的新手.

我的问题:

(请纠正任何类型的误解)

我有一个BIG JSON数据集,我检索它并将其存储在trainList变量中.

我预先处理它以便能够使用它.

完成后,我开始分类:

  1. 我使用kfold交叉验证方法以获得平均准确度并且我训练分类器.
  2. 我做了预测,并获得了该折叠的准确性和混淆矩阵.
  3. 在此之后,我想获得真阳性(TP),真阴性(TN),假阳性(FP)和假阴性(FN)值.我会使用这些参数来获得灵敏度和特异性,我会将它们和TP的总数添加到HTML中,以便显示带有每个标签的TP的图表.

码:

我目前的变量:

trainList #It is a list with all the data of my dataset in JSON form
labelList #It is a list with all the labels of my data 
Run Code Online (Sandbox Code Playgroud)

方法的大部分内容:

#I transform the data from JSON form to a numerical one
X=vec.fit_transform(trainList)

#I scale the matrix (don't know why but without it, it makes an error)
X=preprocessing.scale(X.toarray())

#I generate a KFold in order to make cross validation
kf …
Run Code Online (Sandbox Code Playgroud)

python classification machine-learning scikit-learn supervised-learning

43
推荐指数
10
解决办法
7万
查看次数

任何人都可以提供有监督学习和无监督学习的真实案例吗?

我最近研究过有监督学习和无监督学习.从理论上讲,我知道有监督意味着从标记数据集中获取信息而无监督意味着在没有给出任何标签的情况下对数据进行聚类.

但是,问题是我总是感到困惑,以确定在我的学习期间给定的例子是监督学习还是无监督学习.

谁能请一个现实生活中的例子?

machine-learning data-mining unsupervised-learning supervised-learning deep-learning

35
推荐指数
5
解决办法
6万
查看次数

用于音频的卷积神经网络(CNN)

我一直在关注DeepLearning.net上的教程,以学习如何实现从图像中提取特征的卷积神经网络.本教程有很好的解释,易于理解和遵循.

我想扩展相同的CNN,同时从视频(图像+音频)中提取多模态功能.

我知道视频输入只不过是与音频相关的一段时间(例如30 FPS)中显示的一系列图像(像素强度).但是,我真的不明白音频是什么,它是如何工作的,或者它是如何被分解为馈入网络的.

我已经阅读了几篇关于这个主题的论文(多模态特征提取/表示),但没有人解释过如何将音频输入到网络中.

此外,我从我的研究中了解到,多模态表征是我们的大脑真正运作的方式,因为我们没有刻意过滤我们的感官来实现理解.这一切都是在我们不知道的情况下同时发生的(联合代表).一个简单的例子是,如果我们听到狮子吼声,我们立即构成狮子的心理形象,感受到危险,反之亦然.在我们的大脑中发射了多种神经模式,以全面了解狮子的样子,听起来像,感觉,闻起来像是等等.

上面提到的是我的最终目标,但暂时我为了简单起见而打破了我的问题.

如果有人能够阐明音频如何被解剖,然后在卷积神经网络中表现出来,我将非常感激.我还要感谢您对多模态同步,联合表示以及使用多模态数据训练CNN的正确方法的看法.

编辑: 我发现音频可以表示为频谱图.它作为音频的通用格式,表示为具有两个几何尺寸的图形,其中水平线表示时间,垂直表示频率.

在此输入图像描述

是否可以对这些光谱图上的图像使用相同的技术?换句话说,我可以简单地使用这些频谱图作为卷积神经网络的输入图像吗?

convolution feature-extraction neural-network supervised-learning deep-learning

30
推荐指数
2
解决办法
2万
查看次数

朴素贝叶斯与SVM对文本数据进行分类

我正在研究一个涉及对大型文本数据库进行分类的问题.文本很短(每个3-8个单词),有10-12个类别,我希望对它们进行排序.对于这些功能,我只是使用每个单词的tf-idf频率.因此,特征的数量大致等于文本中整体出现的单词的数量(我正在删除停用词和其他一些词).

在尝试使用模型时,我有以下两个想法:

  • 朴素贝叶斯(可能是sklearn多项式朴素贝叶斯实施)
  • 支持向量机(在训练中使用随机梯度下降,也是sklearn实现)

我已经建立了两个模型,目前正在比较结果.

每种模型的理论优缺点是什么?为什么其中一个可以更好地解决这类问题?我是机器学习的新手,所以我想了解的是为什么人们会做得更好.

非常感谢!

theory machine-learning scikit-learn supervised-learning

14
推荐指数
2
解决办法
2万
查看次数

为多类计算sklearn.roc_auc_score

我想计算分类器的AUC,精度和准确度.我正在监督学习:

这是我的工作代码.此代码适用于二进制类,但不适用于多类.请假设您有一个包含二进制类的数据框:

sample_features_dataframe = self._get_sample_features_dataframe()
labeled_sample_features_dataframe = retrieve_labeled_sample_dataframe(sample_features_dataframe)
labeled_sample_features_dataframe, binary_class_series, multi_class_series = self._prepare_dataframe_for_learning(labeled_sample_features_dataframe)

k = 10
k_folds = StratifiedKFold(binary_class_series, k)
for train_indexes, test_indexes in k_folds:
    train_set_dataframe = labeled_sample_features_dataframe.loc[train_indexes.tolist()]
    test_set_dataframe = labeled_sample_features_dataframe.loc[test_indexes.tolist()]

    train_class = binary_class_series[train_indexes]
    test_class = binary_class_series[test_indexes]
    selected_classifier = RandomForestClassifier(n_estimators=100)
    selected_classifier.fit(train_set_dataframe, train_class)
    predictions = selected_classifier.predict(test_set_dataframe)
    predictions_proba = selected_classifier.predict_proba(test_set_dataframe)

    roc += roc_auc_score(test_class, predictions_proba[:,1])
    accuracy += accuracy_score(test_class, predictions)
    recall += recall_score(test_class, predictions)
    precision += precision_score(test_class, predictions)
Run Code Online (Sandbox Code Playgroud)

最后我将结果分成K当然是为了获得平均AUC,精度等.这段代码工作正常.但是,我不能为多类计算相同:

    train_class = multi_class_series[train_indexes]
    test_class = multi_class_series[test_indexes]

    selected_classifier = RandomForestClassifier(n_estimators=100)
    selected_classifier.fit(train_set_dataframe, train_class)

    predictions = selected_classifier.predict(test_set_dataframe)
    predictions_proba …
Run Code Online (Sandbox Code Playgroud)

python scikit-learn supervised-learning

14
推荐指数
4
解决办法
2万
查看次数

神经网络时间序列预测(N点前瞻预测)大规模迭代训练

(N = 90)使用神经网络进行预测:

我想提前3分钟预测,即提前180分.因为我将时间序列数据压缩为将每2个点的平均值作为一个,我必须预测(N = 90)步进预测.

我的时间序列数据以秒为单位给出.值在30-90之间.它们通常从30到90和90到30移动,如下例所示.

在此输入图像描述

我的数据可以从以下网址获取:https://www.dropbox.com/s/uq4uix8067ti4i3/17HourTrace.mat

我在实现神经网络以预测N点方面遇到了麻烦.我唯一的功能是以前的时间.我使用了elman递归神经网络和newff.

在我的场景中,我需要预测90分.首先我如何手动分离我的输入和目标数据:例如:

data_in = [1,2,3,4,5,6,7,8,9,10]; //imagine 1:10 only defines the array index values.
N = 90; %predicted second ahead.
P(:, :)         T(:)     it could also be(2 theta time)  P(:, :)         T(:) 
[1,2,3,4,5]    [5+N]              |                     [1,3,5,7,9]     [9+N]
[2,3,4,5,6]    [6+N]              |                     [2,4,6,8,10]    [10+N]
...
Run Code Online (Sandbox Code Playgroud)

直到它到达数据的末尾

我在Elman递归神经网络中有100个输入点和90个输出点.什么是最有效的隐藏节点大小?

input_layer_size = 90;  
NodeNum1 =90;

 net = newelm(threshold,[NodeNum1 ,prediction_ahead],{'tansig', 'purelin'});
net.trainParam.lr       = 0.1; 
net.trainParam.goal     = 1e-3; 
Run Code Online (Sandbox Code Playgroud)

//在我的训练开始时,我用kalman过滤它,归一化到[0,1]范围内,之后我将数据混洗.1)我无法训练完整的数据.首先,我尝试训练完整的M数据,大约900,000,这没有给我一个解决方案.

2)其次我尝试了迭代训练.但是在每次迭代中,新添加的数据与已经训练的数据合并.在20,000个训练数据之后,准确度开始降低.首次训练的1000个数据非常适合训练.但是当我开始迭代合并新数据并继续训练之后,训练精度非常快地下降90到20.例如.

P = P_test(1:1000) T = …
Run Code Online (Sandbox Code Playgroud)

machine-learning time-series prediction neural-network supervised-learning

13
推荐指数
1
解决办法
3680
查看次数

度量学习和对比学习的区别

我研究了一些资料\xef\xbc\x8可以知道,对比学习和度量学习的目标都是学习这样一个嵌入空间,在这个嵌入空间中,相似的样本对彼此靠近,而不相似的样本对相距很远。但是度量学习和对比学习有什么区别呢?我无法理解。

\n

有人可以给一些建议吗?谢谢。

\n

machine-learning embedding supervised-learning deep-learning self-supervised-learning

12
推荐指数
1
解决办法
2261
查看次数

如何在受监督的机器学习分类问题中使用主成分分析?

我一直在研究R中主成分分析的概念.

我很乐意将PCA应用于(例如,标记的)数据集,并最终从我的矩阵中提取出最有趣的前几个主要组件作为数值变量.

从某种意义上说,最终的问题是什么呢?在计算完成后,我在PCA上遇到的大部分读数都会立即停止,特别是在机器学习方面.请原谅我的夸张,但我觉得好像每个人都认为这项技术很有用,但没有人愿意在他们这么做之后真正使用它.

更具体地说,这是我真正的问题:

我认为主要组件是您开始使用的变量的线性组合.那么,这种转换后的数据如何在监督机器学习中发挥作用?有人如何使用PCA作为减少数据集维数的方法,然后,将这些组件与受监督的学习者(例如SVM)一起使用?

我对我们的标签发生了什么感到困惑.一旦我们进入了本征空间,那就太好了.但是,如果这种转变打破了我们的分类概念,那么我认为没有任何办法可以继续推进机器学习(除非有一些"是"或"否"的线性组合我没有遇到过!)

如果你有时间和资金,请介入并指导我.提前致谢.

machine-learning pca supervised-learning principal-components

9
推荐指数
2
解决办法
8367
查看次数

什么是远程监督?

根据我的理解,远程监督是指定一个段落(通常是一个句子)的单个词试图传达的概念的过程.

例如,数据库维护结构化关系 concerns( NLP, this sentence).

我们的远程监督系统将把句子作为输入: "This is a sentence about NLP."

基于这句话会认识到实体,因为作为一个预处理步骤判决将已通过命名实体识别通过,NLPthis sentence.

由于我们的数据库具有它NLP并且this sentence通过concern(s)它的关系相关联,因此将输入句子识别为表达关系Concerns(NLP, this sentence).

我的问题有两个:

1)有什么用?是不是以后我们的系统可能会在"狂野"中看到一个句子,That sentence is about OPP并且意识到它看起来与以前的类似,从而实现了这样的新颖关系concerns(OPP, that sentence).,仅仅基于单词/个体标记?

2)是否考虑了句子的实际用语?动词'是'和副词'关于',例如,实现(通过WordNet或其他一些下位系统),这在某种程度上类似于高阶概念"关注"?

有没有人有一些代码用于生成我可以看到的远程监控系统,即交​​叉引用KB的系统(如Freebase)和语料库(如NYTimes),并生成远程监管数据库?我认为这将有助于澄清我对远程监督的看法.

nlp stanford-nlp unsupervised-learning supervised-learning

9
推荐指数
2
解决办法
8911
查看次数