首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用Swift对数组进行L2规范化

如何用Swift对数组进行L2规范化
EN

Stack Overflow用户
提问于 2019-02-09 17:20:58
回答 1查看 680关注 0票数 0

我正在尝试规范化我的CoreML模型的输入,如下所示,它对数组有一定的作用,但它与SKLearn所做的完全不同(在这些环境中,我提供相同的输入和观察输出)。所以我经常做错事。

我的模型使用Keras和SKlearn进行培训,它必须执行与我使用SKLearn规范化器相同的规范化操作,这是默认的L2规范化器。下面我正在做的不是滑雪,有什么想法吗?

代码语言:javascript
复制
    vDSP_normalizeD(vec, 1, &normalizedVec, 1, &mean, &std, vDSP_Length(count))

    let (normalizedXVec, _, _) = normalize(vec: doubleArray)

然后,我将normalizedXVec转换为MLMultiArray,并将其用作我的预测器的输入。

注意:我还试图使用coreml工具从sklearn中转换出规范化器,但是我发现了如下所示的错误:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-10 12:31:31

vDSP_normalizeD使用均值和标准差。这与L2不一样。

L2归一化首先计算向量的L2范数,它与sqrt(v[0]*v[0] + v[1]*v[1] + ... + v[n]*v[n])相同,然后将向量的每个元素除以这个数。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54608649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档