python - 在 10 维单位球面上生成随机点
问题描述
我需要生成一个在单位球体上以 10 个方向(10 个随机数的集合)均匀采样的向量。因此,这 10 个值的平方和应为 1。
这是我需要生成这些点的确切问题:
实现 Perceptron 算法并在 ℝ<sup>10 中的以下合成数据集上运行它:pick ∗ = [1,0,0,…,0]; 通过在单位球面上随机均匀采样生成 1000 个点,然后删除边距小于 0.1 的点;生成标签 = 符号((*)T)。
解决方案
正如@Andrex 建议的那样,这是正确的解决方案:
import numpy as np
import math
s = np.random.normal(0, 1, 10)
norm=math.sqrt(sum(s*s))
result=s/norm
result
答案在哪里。您可以评估结果:
sum([x*x for x in result])
1.0
推荐阅读
- javascript - 量角器,检查当前 Url 是否等于字符串 url
- reactjs - 如何在 Scala REST API 服务器上运行 React.js
- python - 了解 Spacy 的得分手输出
- javascript - vscode在打开的文件上自动折叠
- c# - 使用 twilio 向手机发送短信
- elasticsearch - Elasticsearch 查询和按参数排序
- java - 尝试在循环中实例化,得到意外类型(预期变量)
- objective-c - NSOpenPanel 限制已选择的文件
- jquery - 删除元素并重新加载页面
- c# - Google Drive Api 将文件上传到错误的 Google Drive 帐户