工业界常用算
作为与算法同学对接的策略产品经理,了解工业界常用的算法逻辑,其实不仅仅是为了显得专业,更是为了能和算法团队在一个频道上交流,让产品方案更具落地性。下面就来梳理一下那些核心的底层算法,以及它们各自擅长处理哪些任务。

逻辑回归(Logistics Regression,LR)
逻辑回归在工业界的地位,可以说是“久经考验的老将”。
模型训练类别: 监督学习算法。
适用问题任务: 分类。
算法特色: 复杂度低,可解释性强,线上效果稳定。这也是为什么很多场景下,即便有更复杂的模型,LR依然是首选的基线模型。
函数公式:
y = h(x) = 1 / (1 + e^(-w^T x))
解释一下参数的含义:y代表模型预测出来的值,取值在0到1之间;x是输入模型的特征值,也就是我们最终使用的那些特征对应的具体数值;T表示矩阵的转置,算是一个数学符号;而w则是模型为每一个特征训练出的权重参数。举个CTR预估模型的例子,逻辑回归输出的预测值,在业务上通常可以理解为用户对某个物料的兴趣度。
另外必须提醒一句,虽然线性回归和逻辑回归的英文缩写都是LR,但它们解决的问题完全不同。线性回归解决的是回归问题(预测连续值),而逻辑回归解决的是分类问题(预测离散类别)。严格来说,逻辑回归模型在逻辑上包含了线性回归,其核心就是在线性回归的基础上加了一个Sigmoid函数进行映射。
K近邻算法(K-Nearest Neighbor,KNN)
KNN算法的思想,其实是每一个策略产品经理都应该了解的,因为它非常直观。
模型训练类别: 监督学习算法。
适用问题任务: 分类、回归。
关键因素: K值的取值。K值选得好不好,直接决定了预测效果。通常需要通过交叉验证(划分测试集和训练集)来找到最合适的K。
分类任务:
1. 计算待分类点(比如图里的黑叉)与所有已知类别点的距离。
2. 按照距离从小到大排序,选取最近的K个点。在这K个点中,占比最多的那个类别,就是待分类点的预测类别。计算距离的常用方法有欧式距离和曼哈顿距离。
回归任务:
思路和分类任务基本一致,只不过预测点的值不再是投票,而是直接取离它最近的K个点的平均值。
总结一下:
KNN算法最大的特点就是没有模型训练环节,所以在训练环节的时间复杂度为0。但它的缺点也很明显:在应用环节,随着样本量陡增和特征复杂度增加,计算量会非常大。对于那些对预测效率要求极高的场景(比如实时推荐),KNN往往就显得力不从心了。
贝叶斯模型(Bayes Model)
贝叶斯模型解决的是“逆概率”问题,在邮件分类、天气预测等场景下有着广泛应用。
模型训练类别: 监督学习算法。
适用问题任务: 分类。
模型方向: 基于先验概率和条件概率,计算后验概率。
函数公式:
P(A|B) = P(B|A) * P(A) / P(B)
这个公式的核心思想是:我们想知道在事件B发生的条件下,事件A发生的概率(后验概率),可以通过计算事件A本身的概率(先验概率)和事件A发生条件下事件B的概率(条件概率)来得到。
K聚类算法(K-Means)
K-Means是一种典型的无监督学习算法,它没有模型训练环节,利用启发式迭代来不断优化聚类结果。
模型训练类别: 无监督学习算法。
适用问题任务: 聚类。
关键点: K值的选择通常由业务场景来确定。如果我们没有明确的业务需求,可以用“试数”的方法,尝试不同的K值,看哪个效果最好。
步骤:
设定K值,即决定要将所有样本分成几个簇。
模型根据现有的簇,重新计算每个簇的质心(中心点),然后根据质心再次对样本进行归类。
不断重复步骤2,直到满足停止条件(比如质心不再移动,或者达到最大迭代次数)。
决策树(Decision Tree)
决策树的核心思想非常直白:根据有区分性的特征,把数据集一层层地拆分开来。
模型训练类别: 监督学习算法。
适用问题任务: 分类、回归。
核心思想: 通过特征对数据进行划分,每个划分都是对一个问题的“是”或“否”的判断。
基本框架要素:
1. 根节点: 包含所有原始样本数据,是决策树的起点,它会被进一步分割成多个子集合。
2. 决策节点和叶子节点: 叶子节点是决策树的终点,它不再被分割。而决策节点则会根据某个特征继续向下分割。
3. 父节点与子节点: 简单来说,被分割出子节点的那个节点,就是子节点的父节点。
决策树种类: 分类树和回归树。
决策树效果评估: 我们该用哪些特征组合来构建一棵效果最好的树呢?
分类树: 用基尼不纯度来评估。不纯度越低,说明样本分得越“干净”,效果也就越好。
回归树: 用方差指标来评估。方差越小,说明模型拟合的效果越好。
决策树关键参数(过拟合/欠拟合的调节阀):
节点拆分包含的最小样本数: 太大了容易欠拟合,太小了容易过拟合,通常需要交叉验证来找到最佳值。
叶子节点包含的最小样本数: 防止叶子节点太多导致过拟合。对于正负样本不太均衡的情况,可以把这个值设小一些。
决策树最大深度: 深度太大容易过拟合,深度太小容易欠拟合,同样可以靠交叉验证来解决。
总体叶子节点数量控制: 也是一个很有效的防止过拟合的手段。
整体分裂中使用最多的特征数: 根据经验,通常取特征总数的平方根作为最佳特征数。
深度神经网络(Deep Neutral Network)
深度学习相关的资料网上已经非常多了,这里只做个简单的介绍。
所谓“深度”,指的是网络中的隐藏层(hidden layer)。在输入层和输出层之间,隐藏层的层数越多,网络就越“深”。深度学习与传统神经网络相比,核心区别主要体现在训练数据的规模、训练方式(如反向传播、梯度下降)以及网络的深度上。
目前,深度学习在产品策划领域的应用非常广泛:比如安防和零售领域的视觉识别,还有像ChatGPT这样的自然语言处理应用,甚至智能驾驶也越来越离不开它。而最早让深度学习名声大噪的应用,其实就是搜索、广告、推荐(搜广推)领域的算法模型。
产品设计模型算法的选择
同一个业务场景,有时可以用多种算法来解决。作为产品经理,我们需要重点考核模型的两大要点:模型预测的准确性和模型的可解释性。
在不同的场景下,我们对这两点的侧重点完全不同。比如金融风控这种受强监管的场景,监管要求模型必须“可解释”,那我们就更倾向于使用逻辑回归或决策树这类可解释性强的模型。而对于搜广推这类产品体验优化场景,我们更看重的是实际的使用效果,这时候哪怕模型是个“黑盒”,只要效果好,也完全可以接受。下图展示了不同类算法的应用效益分布:

