私は他の人が行った複数のインスタンス学習のためにライブラリを使用しようとしています。セル配列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番目に、というように意味します。
正しいセル配列形式で入力します。データとアルゴリズムは同じライブラリからのものです、私は何らかの形で、すでにフォームに入っているデータを簡単にセル配列に変換できると思います!
私はこれを理解していません。あなたは "インスタンス"の例を挙げることができますか?あなたのテキストファイルの最初の行を表示できますか? 「インスタンス」を特定する方法を教えてください。また、タイトルを編集してください! –
セル配列は、各位置にあるものを含むことができる配列です。データをセル配列に変換すると 'a = {PBags} 'になります。おそらくあなたの質問に言い直したいと思うでしょう。 –
各インスタンスは1X166ベクトルです。各バッグ(+ veまたはnegative)には複数のインスタンスが含まれています。正と負のインスタンスが順番にリストされます(466×166行列)。最初の袋に属するintancesの数は、他のテキストファイルの最初の要素、例えば5に与えられます。 –