机器学习案例分析(摘选自网络)

        想象下如何写一个程序来回应唤醒词,我们只知道拿到的只有麦克风里采集到的原始语音信号,需知道样的规则才能把这些样本点转成一个字符串呢?或者简单点,判断这些信号中是否包含唤醒词。

        就算你不清楚怎么编写程序,好让机器识别出唤醒词“Alexa”,你自己完全能够 识别出“Alexa”这个词。由此,我们可以收集一个巨大的数据集(data set),里面包含了大量语音信号,以及每个语音型号是否 对应我们需要的唤醒词。使用机器学习的解决方式,我们并非直接设计一个系统去准确地 辨别唤醒词,而是写一个灵活的程序,并带有大量的参数(parameters)。通过调整这些参数,我们能够改变程序的行为。我们将这样的程序称为模型(models)。

        总体上看,我们的模型仅仅是一个机器,通过某种方式,将输入转换为输出。在上面的例子中,这个模型的输入(input) 是一段语音信号,它的输出则是一个回答{yes, no},告诉我们这段语音信号是否包含了唤醒词。

        如果我们选择了正确的模型,必然有一组参数设定,每当它听见“Alexa”时,都能触发yes的回答;也会有另一组参数,针对“Apricot”触发yes。我们希望这个模型既可以辨别“Alexa”,也可以辨别“Apricot”,因为它们是类似的任务。不过,如果是本质上完全不同的输入和输出,比如输入图片,输出文本;或者输入英文,输出中文,这时我们则需要另一个的模型来完成这些转换。

这时候你大概能猜到了,如果我们随机地设定这些参数,模型可能无法辨别“Alexa”,“Apricot”,甚至任何英文单词。在而大多数的深度学习中,学习(learning) 就是指在训练过程(training period) 中更新模型的行为(通过调整参数)。

换言之,我们需要用数据训练机器学习模型,其过程通常如下:

初始化一个几乎什么也不能做的模型;

抓一些有标注的数据集(例如音频段落及其是否为唤醒词的标注);

修改模型使得它在抓取的数据集上能够更准确执行任务(例如使得它在判断这些抓取的音频段落是否为唤醒词上判断更准确);

重复以上步骤2和3,直到模型看起来不错。

当提供一个巨大的有标注的数据集 时,它能学习 如何辨别唤醒词。你可以认为这种方式是利用数据编程。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 地道北方妹子 97年 坐标河南 在读大三 喜欢吃各种美食 研究美食 希望有一天可以学会做很多好吃的 喜欢看小...
    胖婷a阅读 319评论 1 0
  • 在使用Github和Jekyll建立静态博客的过程中,必须要注意的一点是Github Pages分为两种,个人页面...
    Asukayui阅读 895评论 2 2
  • 1,作业出品就是你的职场现状。能否按时,保质,表现形式是否新颖,与你对待工作方式一般无二。 2,做任何事情首先从一...
    妮秋儿阅读 229评论 0 0
  • 问题 现在有一个需求,在一定时间段(15分钟)统计交易情况,Hive的话是可以实现功能,但是效率低,最终决定使用S...
    忘净空阅读 1,034评论 0 1