通过逻辑回归使用二元分类的婴儿哭声检测模型

数据挖掘 逻辑回归 音频识别
2022-03-12 03:26:17

我需要一些关于我最后一年项目的帮助。我对机器学习还很陌生,我已经尝试了很多来了解如何使用逻辑回归训练模型。


我有两个每个 5 秒的音频剪辑数据集,一个是婴儿哭声,一个是婴儿“不哭”。


我想在 google colab 上使用逻辑回归来训练模型。现在我已经成功地将音频剪辑转换为频谱图图像但是我一直在训练模型,因为我无法理解如何训练模型(代码非常复杂,到目前为止我见过它)。


我想要的是使用逻辑回归训练模型,并在输出中获得 100 个权重。然后会发生的是,我将使用 Arduino 录制婴儿哭声。然后我将从新录制的音频中获得 100 个数据点。


然后前一个和新的 100 个权重将一对一相乘。然后添加。然后将在其上运行一个 sigmoid 函数(在获得 100 个权重后,所有这些计算都不会在 google colab 中发生,而是在 Arduino 中发生)。


然后如果输出值大于0.5,说明宝宝在哭(也就是说新录制的音频是宝宝哭的声音),如果小于0.5,说明宝宝没有哭。现在来自 Arduino 记录的 100 个数据点的范围为 0 到 1。如果训练模型的 100 个权重也位于 0 到 1 之间,那就太好了。


任何关于代码的帮助或关于逻辑回归的优秀教程视频的链接将不胜感激。

1个回答

作为您的上下文,您将音频剪辑转换为频谱图图像。频谱图是声音频率频谱的直观表示。
现在您需要从数据集中提取特征。音频数据有很多特征提取技术(见这个博客知识)。
最先进的特征提取现在使用: MFCC — Mel-Frequency Cepstral Coefficients
通过使用librosa库,我们可以轻松实现MFCC
以下是 MFCC 的一些资源:

提取特征(转换为 MFCC)后,您需要根据需要将它们放入逻辑回归模型中。我分享了一些尝试 MFCC 特征和逻辑回归的资源:

对于学习逻辑回归,您可以关注斯坦福大学的机器学习,Coursera 或从youtube关注这个。