《构建实时机器学习系统》一2.3 实时线性分类器介绍

简介: 本节书摘来自华章出版社《构建实时机器学习系统》一 书中的第2章,第2.3节,作者:彭河森 汪涵,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.3 实时线性分类器介绍

2.3.1 广义线性模型的定义

(广义)线性模型是机器学习发展几十年来理论和工具上最为完备的模型:不管是分类还是预测,线性模型都可以进行实时更新和预测;线性模型的解释性非常优秀,每个变量的回归系数都可以用于解释模型;最后,我们可以通过增减变量,修改特定的回归系数对模型进行人为加工。
继续前文的符号定义,假设回归因变量为 Y ,自变量为 p 维向量 X。在线性模型中,我们企图获得 p 维参数向量,让我们可以通过 X 个个元素的现行组合得到Y 。它们的关系可以通过下面的函数来表示:
screenshot

其中,F ()为因变量 Y 的累计概率分布,E()为数学期望的计算。我们可以从以下两个部分来解读这个模型。
(1)线性输入
η=XTb,每个自变量 Xi对模型输出的贡献都是线性的,其贡献大小都由对应的 i 来决定。当bi= 0 时,自变量 Xi 不会影响最后的预测。这些线性输入的总和会直接影响最后因变量的取值。
(2)可预计的输出
给定η时,因变量的取值由连接函数 f 和 Y 的分布 F 来决定。我们常用的 f 和 e 有以下三种情况。
当 f(η) =η,且 F () 为正态分布的累计概率分布时,模型等于对正态分布的连续变量进行线性预测。
当 f(η) = 1/(1 + exp(η)),且 F() 为二项分布累计概率分布的时候,模型等于逻辑回归模型,可用于对男女、好恶等类别进行分类预测。
当 f(η) = exp(η),且 F ()为泊松分布累计概率分布的时候,模型等于泊松模型,可用于对订票人数、车辆通过数量等数据进行预测。
综上所述,众多数据模型都是可以通过线性模型的特殊情况进行建模预测的。

2.3.2 训练线性模型

给定已知的样本 {(Xi, Yi)}ni=1,假设现在需要通过模型训练得到线性模型参数b,那么我们往往会定义目标函数 L,通过随机梯度下降的方法求得b,使得 L 尽量小:
screenshot

其中,λ1和λ2是预先设置好的非负参数,| · |1 为计算 L1 的范数,| · |2 为计算 L2 的范数。
上面的目标函数可以分为如下两部分来理解。
预测误差:目标函数L第一项预测误差,我们训练一个模型当然是希望其得到的误差应尽量小。
惩罚函数 (penalty function):目标函数L中第二、三项的存在是为了防止所得模型的过度拟合,加入L1惩罚函数还可以进行变量优先选择。
这里的参数λ1 和 λ2都是实现选择的参数,可以通过多次比较不同的模型来获取最有效的组合。
现在对线性模型的拟合工作已经在主流机器学习软件工具中完全自动化,在Scikit-learn中,对线性回归模型的拟合主要采用 sklearn.linear_model.SGDRegressor,对于分类问题,主要采用 sklearn.linear_model.SGDClaffier。

2.3.3 冷启动问题

机器学习应用中,其实收集数据才是最昂贵的一部分。若没有数据,那么一切模型都将是空中楼阁。对于新企业或新项目,没有数据进行模型训练,那么怎么样才能有最初始的模型呢?没有数据就有没模型,但是如果没有模型,往往也会难以收集到数据。怎么样才能解决这个鸡生蛋、蛋生鸡的问题呢?这个问题可能会因为不同的组织而有不同的答案,这里主要总结如下两个方案。

  1. 借用其他相关数据

如果无法获得当前组织的机器学习数据进行建模,那么其中一个办法是从其他来源获取类似的数据,建立暂时能用的模型。等到产品成熟了,收集到足够多的数据以后再开发自身专有的模型。
例如,某初创业公司需要对小说影评的正负评价进行分类。但苦于暂时没有现成的数据,因此借用了相关网站,如豆瓣、知乎等帖子的内容,作为训练数据;又因为没有评价正负标签,该公司将豆瓣评分、知乎投票数量进行转化,获得了模型的正负标签。
2.人工参与
在遇到建模冷启动问题的时候,该模型的使用人数往往并不高,如果对延迟的要求不高,完全可以通过人工标记的方法来解决。
例如,国内某家已经上市的门户视频网站,成立多年以来,分类、标记、推荐等业务都是通过人工完成的,且取得了尚佳的结果。如今该网站上市之后拥有了雄厚的资金实力,聘请了顶尖的机器学习专家进行视频的标签标记和推荐。此时通过多年的努力该网站已经积累了大量的标签数据,建模的效果也相当好。
另外一方面,处理冷启动问题的时候,我们也可以将人工意见写入模型之中,使其自动化运行。例如对于股价走势预测模型,我们可以通过人工经验,对历史走势、成交量等因子进行人工打分,将人工打分的结果放入现行模型中,进行前期应用。
当然,所有人工参与的方式都离不开严格的监督流程。本书的第9章会介绍通过 Elasticsearch 对数据进行可视化分析和质量监控的方法。

相关文章
|
9天前
|
机器学习/深度学习 数据采集 人工智能
构建高效机器学习模型的五大技巧
【4月更文挑战第7天】 在数据科学迅猛发展的今天,机器学习已成为解决复杂问题的重要工具。然而,构建一个既精确又高效的机器学习模型并非易事。本文将分享五种提升机器学习模型性能的有效技巧,包括数据预处理、特征工程、模型选择、超参数调优以及交叉验证。这些方法不仅能帮助初学者快速提高模型准确度,也为经验丰富的数据科学家提供了进一步提升模型性能的思路。
|
15天前
|
机器学习/深度学习 搜索推荐 算法
基于机器学习的用户行为分析与个性化推荐系统
传统的用户行为分析和推荐系统常常受限于规则的刻板和模型的简单,无法准确捕捉用户的个性化需求。本文基于机器学习技术,探讨了一种更加灵活、精准的用户行为分析与个性化推荐系统设计方法,通过深度学习模型结合大数据分析,实现了对用户行为的更细致把握和更个性化的推荐服务。
|
24天前
|
机器学习/深度学习 数据采集 算法
构建高效机器学习模型:从数据预处理到模型优化
在机器学习的实践中,构建一个高效的模型并非一蹴而就。本文将深入探讨如何通过精确的数据预处理、合理的特征选择、适当的模型构建以及细致的参数调优来提升模型的性能。我们将讨论数据清洗的重要性,探索特征工程的策略,分析不同算法的适用场景,并分享模型调参的实用技巧。目标是为读者提供一套系统的方法论,以指导他们在构建机器学习模型时能够更加高效和目标明确。
24 3
|
24天前
|
机器学习/深度学习 数据采集 自然语言处理
构建高效机器学习模型:从数据处理到性能优化
在数据驱动的时代,构建高效的机器学习模型已经成为解决复杂问题的关键手段。本文将详细讨论如何通过有效的数据处理、特征工程、模型选择以及性能优化策略来构建一个高效的机器学习模型。我们将重点关注数据处理的重要性,特征选择的影响,以及如何通过调整模型参数和采用集成学习方法来提高模型的性能。我们的目标是为读者提供一套实用的指南,帮助他们在构建自己的机器学习模型时能够更加高效和有效。
|
13天前
|
机器学习/深度学习 数据采集 算法
构建高效机器学习模型的最佳实践
【4月更文挑战第3天】在数据驱动的时代,构建高效的机器学习模型已成为解决复杂问题的关键。本文将探讨一系列实用的技术策略,旨在提高模型的性能和泛化能力。我们将从数据预处理、特征工程、模型选择、超参数调优到集成学习等方面进行详细讨论,并通过实例分析展示如何在实践中应用这些策略。
15 1
|
24天前
|
机器学习/深度学习 数据采集 自然语言处理
构建高效机器学习模型:从数据预处理到模型优化
在机器学习的实践中,一个精确且高效的模型是成功解决问题的关键。本文将深入探讨如何从原始数据的收集与处理开始,通过选择合适的算法,再到模型的训练与优化,最终构建出一个高性能的机器学习模型。我们将讨论数据预处理的重要性、特征工程的策略、常用机器学习算法的选择标准以及超参数调整的最佳实践。通过案例分析和技术讲解,本文旨在为读者提供一个清晰的构建高效机器学习模型的蓝图。
|
11天前
|
机器学习/深度学习 数据采集 算法
构建高效机器学习模型:从数据预处理到模型优化
【4月更文挑战第5天】 在机器学习领域,构建一个高效的模型并非易事。它涉及多个阶段,包括数据预处理、特征工程、模型选择、训练以及最终的评估和优化。本文深入探讨了如何通过精确的数据预处理技巧和细致的特征工程来提升模型性能,同时介绍了几种常见的模型优化策略。我们的目标是为读者提供一套实用的指导方案,帮助他们在面对复杂数据集时能够有效地构建和调整机器学习模型。
|
12天前
|
机器学习/深度学习 算法 数据挖掘
构建高效机器学习模型:从特征工程到模型调优
【4月更文挑战第4天】在数据驱动的时代,构建一个高效的机器学习模型是解决复杂问题的关键。本文将深入探讨特征工程的重要性,并分享如何通过自动化技术进行特征选择与构造。接着,我们将讨论不同的机器学习算法及其适用场景,并提供模型训练、验证和测试的最佳实践。最后,文章将展示如何使用网格搜索和交叉验证来微调模型参数,以达到最优性能。读者将获得一套完整的指南,用以提升机器学习项目的预测准确率和泛化能力。
|
22天前
|
机器学习/深度学习 数据采集 分布式计算
构建高效机器学习模型的策略与实践
在机器学习领域,构建一个高效的模型并非易事。它要求我们不仅对数据科学有深刻的理解,还要精通算法选择、数据处理和系统优化等多方面的知识。本文将深入探讨如何通过合理的数据预处理、特征工程、模型选择和调参策略,以及最终的部署优化,来构建出一个既准确又高效的机器学习模型。我们将透过案例分析,总结出一系列实用的技术和方法,旨在帮助读者提升模型性能并应对现实世界中的挑战。
|
26天前
|
机器学习/深度学习 数据采集 算法
构建高效机器学习模型:从数据处理到算法优化
【2月更文挑战第30天】 在数据驱动的时代,构建一个高效的机器学习模型是实现智能决策和预测的关键。本文将深入探讨如何通过有效的数据处理策略、合理的特征工程、选择适宜的学习算法以及进行细致的参数调优来提升模型性能。我们将剖析标准化与归一化的差异,探索主成分分析(PCA)的降维魔力,讨论支持向量机(SVM)和随机森林等算法的适用场景,并最终通过网格搜索(GridSearchCV)来实现参数的最优化。本文旨在为读者提供一条清晰的路径,以应对机器学习项目中的挑战,从而在实际应用中取得更精准的预测结果和更强的泛化能力。

热门文章

最新文章