2017-09-27 14 views
-1

私は、例えば、2つのベクトルを持っています。どのように2つのベクトル間の類似性を測定するのですか?

Aideal = rand(256,1);

および A_estimated = rand(256,1);

どのようにして類似性を測定できますか?類似性とは、A_estimatedの各要素をAidealの要素とほとんど同じにすることを意味します。

誰でも助けてください。

+0

そして、あなたはほとんどsame' 'によって何を意味していますか?のために十分ですか – Divakar

+0

私は最適化の問題を抱えています。私の機能は です。Aideal = F(Ein); 私は同じ出力を得るようにEinの近似を見つけています。私はA_estimatedと呼んでいます。 – sanjeev

+0

状況によって異なります。通常、距離の平方和を最小にすることは悪くありませんが、あなたの最適化の問題については、確かに言いたいことをもう少し伝えなければなりません。 –

答えて

1

あなたはコードの下respectoのコサイン類似度を持つ2つのベクトルを比較したい場合

function [similarity] = CosineSimilarity(x1,x2) 
%-------------------------------------------------------------------------- 
% Syntax:  [similarity] = CosineSimilarity(x1,x2); 
% 
% Definition: Cosine similarity is a measure of similarity between two 
%  non-zero vectors of an inner product space that measures 
%  the cosine of the angle between them. The cosine of 0° is 
%  1, and it is less than 1 for any other angle. It is thus a 
%  judgment of orientation and not magnitude: two vectors 
%  with the same orientation have a cosine similarity of 1, 
%  two vectors at 90° have a similarity of 0, and two vectors 
%  diametrically opposed have a similarity of -1, independent 
%  of their magnitude. Cosine similarity is particularly used 
%  in positive space, where the outcome is neatly bounded in 
%  [0,1]. The name derives from the term "direction cosine": 
%  in this case, note that unit vectors are maximally 
%  "similar" if they're parallel and maximally "dissimilar" 
%  if they're orthogonal (perpendicular). This is analogous 
%  to the cosine, which is unity (maximum value) when the 
%  segments subtend a zero angle and zero (uncorrelated) 
%  when the segments are perpendicular.[1]. 
%    
% Inputs:  [x1] is a vector 
%    [x2] is a vector 
%    
% Outputs:  [similarity] is between 0 and 1 
%        
% Complexity: No 
% 
% Dependencies No dependency. 
%    
% Author:  Ugur Ayan, PhD 
%    [email protected] 
%    http://www.ugurayan.com.tr 
%    
% Date:   May 15, 2016 
% 
% Refrences  [1] https://en.wikipedia.org/wiki/Cosine_similarity 
%-------------------------------------------------------------------------- 
if (length (x1) == length(x2)) 
    similarity = sum(x1.*x2)/(norm(x1) * norm(x2)); 
else 
    disp('Vectors dimensions does not match'); 
end 
+0

similarty機能を追加したい場合は、名前を教えてください... –

+0

ありがとうコードです。私はこれが私が探している対策ではないと思う。私は根の二乗誤差のようなものが必要です。 – sanjeev

1
mae(A-B) % mean(abs(A-B)) % Average or mean value of array 

sae(A-B) % sum(abs(A-B)) % Sum absolute error performance function 

norm(A-B,1) % sum(abs(A-B)) % 1-norm of the vector, which is the sum of the element magnitudes. 

norm(A-B,inf) % max(abs(A-B)) % maximum absolute row sum of the diff of vectors. 

mse(A-B) % mean((A-B).^2) % Mean of Sum of squared error 

sse(A-B) % sum((A-B).^2) % Sum of squared error 

norm(A-B) % sqrt(sse(A-B)) 
関連する問題