NORMALIZE_L2()
函数说明
NORMALIZE_L2()
函数对向量执行欧几里得归一化 (L2 normalization)。
L2 范数是向量元素平方和的平方根,因此 L2 normalization 的目的是使向量的长度(或范数)为 1,这通常被称为单位向量。这种归一化方法在机器学习中特别有用,尤其是在处理特征向量时,它可以帮助标准化特征的尺度,从而提高算法的性能。
函数语法
> SELECT NORMALIZE_L2(vector_column) FROM tbl;
示例
drop table if exists vec_table;
create table vec_table(a int, b vecf32(3), c vecf64(3));
insert into vec_table values(1, "[1,2,3]", "[4,5,6]");
mysql> select * from vec_table;
+------+-----------+-----------+
| a | b | c |
+------+-----------+-----------+
| 1 | [1, 2, 3] | [4, 5, 6] |
+------+-----------+-----------+
1 row in set (0.00 sec)
mysql> select normalize_l2(b) from vec_table;
+-------------------------------------+
| normalize_l2(b) |
+-------------------------------------+
| [0.26726124, 0.5345225, 0.80178374] |
+-------------------------------------+
1 row in set (0.00 sec)