2016-08-11 15 views
0

私は他の人が行った複数のインスタンス学習のためにライブラリを使用しようとしています。セル配列MATLAB

これは、入力を説明するメインコードです。

function [Concepts,maxConcept,Iterations]=maxDD(PBags,NBags,Dim,Scales,SPoints,Epochs,Tol) 


PBags - An Mx1 cell array, the jth instance of ith positive bag is stored in PBags{i}(j,:) (1<=i<=M) 
NBags - An Nx1 cell array, the jth instance of ith negative bag is stored in Nbags{i}(j,:) (1<=i<=N) 

私はセルアレイの概念に慣れていません。 私のデータは以下の通りです。 400のインスタンスを含むテキストファイル。

最初の200は陰性と呼ばれ、200はネガティブと呼ばれます。これらは42陽性袋、次に40陰性袋に分かれる必要があります(各インスタンスは袋に属します。 (赤と青のメールボックスと考える)各メールボックスにはx個のインスタンス(各メールボックスごとに異なる)が含まれます それぞれのインスタンスの数は(42 + 40 = 82)次元ベクトルで与えられます

例4 5 6 ... 2最初のメールボックスに4つの順位を、5番目に2番目に、というように意味します。

正しいセル配列形式で入力します。データとアルゴリズムは同じライブラリからのものです、私は何らかの形で、すでにフォームに入っているデータを簡単にセル配列に変換できると思います!

+0

私はこれを理解していません。あなたは "インスタンス"の例を挙げることができますか?あなたのテキストファイルの最初の行を表示できますか? 「インスタンス」を特定する方法を教えてください。また、タイトルを編集してください! –

+0

セル配列は、各位置にあるものを含むことができる配列です。データをセル配列に変換すると 'a = {PBags} 'になります。おそらくあなたの質問に言い直したいと思うでしょう。 –

+0

各インスタンスは1X166ベクトルです。各バッグ(+ veまたはnegative)には複数のインスタンスが含まれています。正と負のインスタンスが順番にリストされます(466×166行列)。最初の袋に属するintancesの数は、他のテキストファイルの最初の要素、例えば5に与えられます。 –

答えて

0

この質問は間違いなく明確であるかもしれませんが、私があなたが意味すると思うことに基づいています... 私はあなたのワークスペースにセル配列があると仮定して、呼び出しているMaxDD関数。 あなたが入力に全体1つの* 166のベクトル(「インスタンス」)は、使用したい場合:

PBags{i} 

これは(インスタンスでなければなりません)私の場所でセルの内容を返します。 これは、可変表示したときに、このようになりますPBagsを前提としています Screenshot of rand-filled cell array

PBags 
1x466 cell 
_________________________________________________________________ 
|1x166 double|1x166 double|1x166 double|1x166 double|1x166 double| ... 
----------------------------------------------------------------- 
|   |   |   |   |   | 
----------------------------------------------------------------- 
. 
. 
. 

前述したように、各1x166ダブルインスタンスで、466件のインスタンスがあります。

関連する問題