nuget server logo nuget api documents
↑

API Docs / Microsoft.VisualBasic.MachineLearning.t-SNE / CostFunction

CostFunction

Full name Microsoft.VisualBasic.MachineLearning.tSNE.CostFunction Assembly Microsoft.VisualBasic.MachineLearning.t-SNE Members 5

01 Syntax

Microsoft.VisualBasic.MachineLearning.tSNE.CostFunction

02 Methods

NameOverloadsSummary
CostGrad 1 return cost and gradient, given an arrangement
CostGradExact 1 精确的稠密梯度计算,O(N^2) 时间、O(N^2) 内存
EnsureBuffers 1 确保 Q 缓冲区与梯度缓冲区的尺寸与当前样本量匹配,并在尺寸未变时直接复用

03 Fields

NameOverloadsSummary
lQu 1 未归一化的 Q 分布缓冲区,长度为 N*N,跨迭代复用
bufferedN 1 上一次分配缓冲区时所对应的样本数量

04 Members

method CostGrad #
CostGrad(Double())

return cost and gradient, given an arrangement

Remarks

这里依据 tSNE.UseBarnesHut 在精确路径与 Barnes-Hut 近似路径之间分派。 默认走精确路径,行为与改造前完全一致。

Parameters
NameTypeDescription
YDouble()

当前的低维嵌入,行主序的一维数组(长度为 N * dim)

method CostGradExact #
CostGradExact(Double())

精确的稠密梯度计算,O(N^2) 时间、O(N^2) 内存

Parameters
NameTypeDescription
YDouble()

当前的低维嵌入,行主序一维数组

method EnsureBuffers #
EnsureBuffers(Int32, Int32)

确保 Q 缓冲区与梯度缓冲区的尺寸与当前样本量匹配,并在尺寸未变时直接复用

Parameters
NameTypeDescription
NInt32

-

[dim]Int32

-

field lQu #
lQu

未归一化的 Q 分布缓冲区,长度为 N*N,跨迭代复用

field bufferedN #
bufferedN

上一次分配缓冲区时所对应的样本数量