Aracılığıyla paylaş


VECTOR_NORMALIZE (Transact-SQL)

Şunlar için geçerlidir: SQL Server 2025 (17.x) Microsoft Fabric'teAzure SQL VeritabanıAzure SQL Yönetilen Örneği SQL veritabanı

Giriş olarak bir vektör almak ve belirli bir VECTOR_NORMALIZE uzunluğu 1 olacak şekilde ölçeklendirilmiş bir vektör olan normalleştirilmiş vektörünü döndürmek için kullanın.

Bu standartlaştırma, vektörlerin görsel içerik, metin bilgileri veya ses sinyalleri gibi farklı veri biçimlerini temsil ettiği çeşitli yapay zeka uygulamalarında çok önemlidir. Vektörleri normalleştirerek, vektör uzaklıklarını ölçmeye veya veri noktalarını gruplandırma ve ayırt etme işlemleri için özellikle yararlı olan ölçeklerinde tekdüzelik sağlarız.

Azure OpenAI'nin modelleri normalleştirilmiş vektörler sağlarken, vektörlerin otomatik olarak normalleştiril olmadığı başka modeller ve çerçeveler de vardır. Örneğin, doğal dil işleme görevleri için yaygın olarak kullanılan Gensim kitaplığında vektörler varsayılan olarak her zaman normalleştirilmemiştir.

Kullanıcıların genellikle vektörleri el ile normalleştirmesi veya vektörlerin birim uzunluğunda olduğundan emin olmak için kitaplık tarafından sağlanan belirli işlevleri kullanması gerekir.

Genel olarak, makine öğrenmesi modellerinde veya vektör eklemelerinde, vektörlerin normalleştirilip normalleştirilmediğini belirlemek için belgelerin veya modelin çıktısının kontrol edilmesi önemlidir. Uygulamanız için normalleştirme gerekiyorsa, model varsayılan olarak normalleştirilmiş vektörler sağlamazsa bunu ayrı bir adım olarak uygulamanız gerekebilir.

Örneğin, Öklid normunu (en yaygın norm türü) kullanan normalleştirilmiş bir vektör istiyorsanız şunları kullanabilirsiniz:

SELECT VECTOR_NORMALIZE ( vector, 'norm2' )
FROM ...

Note

VECTOR_NORMALIZE , SQL Server 2025 veya Always-up-to-dategüncelleştirme ilkesiyle Azure SQL Yönetilen Örneği'nde kullanılabilir.

Syntax

Transact-SQL söz dizimi kuralları

VECTOR_NORMALIZE ( vector , norm_type )

Arguments

vector

Vektör veri türü olarak değerlendirilen bir ifade.

norm_type

Verilen vektör normunu hesaplamak için kullanılacak norm türü adına sahip bir dize. Aşağıdaki norm türleri desteklenir:

  • norm1 1-norm- vektör bileşenlerinin mutlak değerlerinin toplamı olan değeridir.
  • norm2 2-norm- vektör bileşenlerinin karelerinin toplamının karekökünü oluşturan Öklid Normu olarak da bilinir.
  • norminf - Vektör bileşenlerinin mutlak değerlerinin maksimumu olan sonsuzluk normu.

Dönüş değeri

Sonuç, giriş vektörünün yönüyle aynı ama verilen norma göre uzunluğu 1 olan bir vektördür.

Giriş ise NULL, döndürülen sonuç da NULLolur.

norm_type geçerli bir norm türü değilse ve vektör vektör veri türünde değilse bir hata döndürülür.

Examples

Örnek 1

Vektörleri normalleştirme:

CREATE TABLE dbo.vectors
(
    ID INT PRIMARY KEY,
    v VECTOR(3) NOT NULL
);

INSERT INTO dbo.vectors (ID, v)
VALUES (1, '[0.1, -2, 42]'),
(2, '[2, 0.1, -42]');

SELECT ID, VECTOR_NORMALIZE(v, 'norm2') AS nv
FROM dbo.vectors;

Örnek 2

DECLARE @v AS VECTOR(3) = '[1, 2, 3]';
SELECT VECTOR_NORMALIZE(@v, 'norm1'),
       VECTOR_NORMALIZE(@v, 'norminf');