使用 19 世纪文献生成的词嵌入的 T-SNE 可视化

t 分布随机邻域嵌入(t-SNE) 是一种统计方法,通过为每个数据点在二维或三维地图中赋予一个位置来可视化高维数据。它是一种非线性降维技术,用于在二维或三维低维空间中嵌入高维数据以进行可视化。具体而言,它通过二维或三维点对每个高维对象进行建模,这样相似的对象由附近的点建模,而不同的对象则以高概率由远处的点建模。
t-SNE 算法包括两个主要阶段。首先,t-SNE 在高维对象对上构建一个概率分布,这样相似的对象被分配更高的概率,而不同的点被分配更低的概率。其次,t-SNE 在低维图中的点上定义一个相似的概率分布,并最小化两个分布之间关于图中点位置的Kullback-Leibler 散度(KL 散度)。
对于包含n 个元素的数据集,t-SNE 的运行时间为$O(n^2)$,空间为$O( n^2)$。

Read more »

The short-time Fourier transform (STFT) is a Fourier-related transform used to determine the sinusoidal frequency and phase content of local sections of a signal as it changes over time. In practice, the procedure for computing STFTs is to divide a longer time signal into shorter segments of equal length and then compute the Fourier transform separately on each shorter segment. This reveals the Fourier spectrum on each shorter segment. One then usually plots the changing spectra as a function of time, known as a spectrogram or waterfall plot, such as commonly used in software defined radio (SDR) based spectrum displays. Full bandwidth displays covering the whole range of an SDR commonly use fast Fourier transforms (FFTs) with $2^24$ points on desktop computers.

Read more »

PyTorch 数据加载实用程序的核心是 torch.utils.data.DataLoader 类。它表示数据集上的 Python 可迭代对象,支持:映射式和可迭代式数据集;自定义数据加载顺序;自动批处理;单进程和多进程数据加载;自动内存固定。这些选项由 DataLoader 的构造函数参数配置,其签名为:

1
2
3
4
5
DataLoader(dataset, batch_size=1, shuffle=False, sampler=None,
batch_sampler=None, num_workers=0, collate_fn=None,
pin_memory=False, drop_last=False, timeout=0,
worker_init_fn=None, *, prefetch_factor=2,
persistent_workers=False)

本文将详细介绍了这些选项的效果和用法。内容参考 Pytorch 官方文档:https://pytorch.org/docs/stable/data.html#module-torch.utils.data

Read more »

在不同的 PyTorch 版本或不同平台上,不能保证完全可复现的结果。此外,即使使用相同的随机种子,CPU 和 GPU 执行之间的结果也可能无法复现。但是,您可以采取措施来限制平台、设备和 PyTorch 版本的非确定性行为来源。首先,您可以控制随机性的来源,这些来源会导致应用程序的多次执行表现不同。其次,您可以将 PyTorch 配置为避免对某些操作使用非确定性算法,以便在给定相同输入的情况下,对这些操作的多次调用将产生相同的结果。最后,在执行多进程数据加载时还需注意控制加载的随机性工作进程种子。本文内容参考 Pytorch 官方文档:https://pytorch.org/docs/stable/notes/randomness.html#controlling-sources-of-randomness

Deterministic operations are often slower than nondeterministic operations, so single-run performance may decrease for your model. However, determinism may save time in development by facilitating experimentation, debugging, and regression testing.

Read more »

Gemini是Google开发的一款多模态大模型,能够处理文本、图像、音频、视频和代码等信息。目前推出的Gemini模型分为Nano、Pro、Ultra以及1.5Pro,这些模型都可以在谷歌网站上进行访问:https://gemini.google.com 。此外,谷歌还提供了Gemini模型的API,可在代码中调用模型,输入文本和图片然后,输出文本回复,以及一款开源大语言模型gemma,该模型基于Gemini的研究和技术开发,能处理文本信息。模型有2b和7b两种参数规模以及经过指令调优(2b-it & 7b-it)和未调优的基础模型等版本,可通过多种框架构建:Keras、Pytorch、Transformers、Gemma C++、TensorRT-LLM、TensorFlow Lite、MaxText、Pax、Flax。感谢我过去的学生 Weizheng Wang, Hui Wu 对本文的贡献。

Read more »

今天总结了最常见的五种聚类算法。涉及到的算法有:

  • K均值聚类(K-Means Clustering)
  • 层次聚类(Hierarchical Clustering)
  • DBSCAN(Density-Based Spatial Clustering of Applications with Noise)
  • 高斯混合模型(Gaussian Mixture Model,GMM)
  • 谱聚类(Spectral Clustering)
Read more »

在Python中进行科研论文绘图,有几个常用的库可以帮助你实现高质量的图表绘制,以满足学术期刊的要求。Matplotlib是Python中一个非常流行的绘图库,它提供了丰富的功能来创建各种图表。但是,默认的Matplotlib样式可能不符合某些期刊的特定要求。为了解决这个问题,可以使用自定义的样式或者样式库来调整图表的外观。SciencePlots是一个专门为科研图表设计的样式库,它提供了多种符合不同期刊发表要求的主题样式。你可以使用这个库来快速设置图表的样式,以满足期刊的标准。

本文总结了 Matplotlib 以及 Seaborn 用的最多的50个图形,掌握这些图形的绘制,对于数据分析的可视化有莫大的作用,强烈推荐大家阅读后续内容。来源:https://www.machinelearningplus.com/plots/top-50-matplotlib-visualizations-the-master-plots-python/

Read more »

计算机视觉中的“目标检测”是指使用计算机视觉技术来识别图像或视频帧中的对象,并确定它们的位置。目标检测系统通常包括一个预处理步骤,用于改善图像质量,然后是特征提取,用于从图像中提取有用的信息。接下来,一个分类器会被用来确定图像中是否存在特定的对象。最后,一个定位器会提供一个边界框或更精确的轮廓来标记对象的位置。目标检测在自动驾驶、视频监控、医疗成像和许多其他应用中都有广泛的应用。

Read more »
0%