新闻动态
NEWS CENTER
NEWS CENTER
2020-12-04
机器学习解决的问题可以归为分类问题、预测问题。
分类问题包含二分类、多分类,顾名思义,二分类问题是非此即彼的问题,如垃圾邮件,只存在是垃圾邮件、不是垃圾邮件。
图片识别问题,是植物不是植物。
多分类问题如文档自动归类,包含了一对多,多对多的关系。
预测问题通常第一反应就会想到回归,因为常被用来预测公司收入、业务增长量、商品销量。
需要预估的通常都是连续值,试图将输入变量和输出用一个连续函数对应起来。
而分类问题,通常预测的都是离散值,试图将输入变量与离散的类别对应起来。
还有一类特殊的解决问题的模型为结构化学习模型,通常输出的数据不再是一个固定长度的值,比如图片语义分析,对应输出的是图片对应的文字描述。
机器学习分为有监督学习、半监督学习、无监督学习、迁移学习、强化学习。
机器学习模型主要分为线性模型、非线性模型。
线性模型是指因变量和自变量之间按比例表现出线性对应关系,包含了线性回归、多项式回归。
公式表现为——h(x)=w1x1+w2x2+⋯+wnxn+b
非线性模型通常是指因变量与自变量间不能在坐标空间中表现出线性对应关系。
常见的SVM、KNN、决策树、深度学习都属于非线性模型。
提到线性、非线性模型,我们必须要了解一下什么是损失函数,通常在模型训练的过程中,我们需要观察h(x)与y之间的差距,也就是均方误差,在线性模型中表现为L(h)=m∑i=1(y(i)−h(x(i)))2,在模型训练过程中,损失函数是作为度量函数好坏的标准。
需要注意的是在面对不同的问题时,所使用的损失函数形式是存在差异的,常见的损失函数有均方差损失函数、交叉熵损失函数、合页损失函数,通常会配合不同的算法使用做出突出表现。
泛化误差:可以分解为偏差、方差和噪声之和。
偏差:反映了模型在样本上的期望输出与真实标记之间的差距,指模型本身的精准度,以及拟合能力。
方差:反映了模型在不同训练数据集下学得的函数的输出与期望输出之间的误差,通常是为了测试模型的稳定性,观察预估结果的波动情况。
在模型训练过程中,需要根据实际情况来权衡模型的复杂度,使偏差和方差得到均衡,以整体误差最小的原则去评估。
模型训练中常常遇到欠拟合、过拟合的情况,那么怎么识别及解决呢?
欠拟合:通常是指模型刻画不够,解决方案通常有三种。
过拟合:与欠拟合相反,模型刻画太细,泛化能力太差。
通常解决方案为:
确认算法的流程通常是由产品经理和算法工程师共同完成,包含:需求确定 -> 算法设计 -> 算法讨论 -> 算法确认 -> 算法验收 -> 持续改进。
算法模型的选择和训练是个繁琐且复杂的过程,依赖于具体所解决问题的复杂程度。产品经理除了要明确定位要解决的核心问题,还需要了解模型训练的整个流程。
很多人会说产品经理不需要了解这么多,不是还有算法工程师吗?
理想情况下,如果你的算法工程师能够充分了解要解决的业务场景,并将数据可解决问题的上限、下限划定清楚,产品经理只需验收数据效果即可。
但通常情况下,算法工程师距离业务线较远,而机器学习强依赖于数据表现,产品经理对业务数据的识别能力,通常能够极大的加快整体进度,在训练过程中能够及时识别问题并调整策略及解决方案。
产品经理对算法的掌握到底需要达到什么程度呢?