逻辑回归模型(logistic regression model)是一种分类模型。它是最常见和常用的一种分类方法,在传统的广告推荐中被大量使用,朴实但有效。
逻辑回归模型(logistic regression model)是一种分类模型。样本x属于类别y的概率P(y|x)服从logistic分布:
综合两种情况,有:
逻辑回归模型使用log损失函数,带L2惩罚项的目标函数如下所示:
其中:为L2正则项。
逻辑回归算法的模型仅由单个输入层组成,该输入层可为“dense”或“sparse”,该层的输出即为模型的输出结果,即分类结果。
logistic regression训练过程 Angel实现了用梯度下降方法优化,迭代训练得到LR模型,每次迭代worker和PS上的逻辑如下:
LR预测结果:
LR on Angel支持“dense”、“libsvm”、“dummy”三种数据格式。其中“dense”即为一般的数据表格式,每列表示相应的特征,各特征之间用空格或逗号隔开,此处不再详述。下面重点说下“dummy”和“libsvm”格式:
每行文本表示一个样本,每个样本的格式为"y index1 index2 index3 ..."。其中:index特征的ID;训练数据的y为样本的类别,可以取1、-1两个值;预测数据的y为样本的ID值。比如,属于正类的样本[2.0, 3.1, 0.0, 0.0, -1, 2.2]的文本表示为“1 0 1 4 5”,其中“1”为类别,“0 1 4 5”表示特征向量的第0、1、4、5个维度的值不为0。同理,属于负类的样本[2.0, 0.0, 0.1, 0.0, 0.0, 0.0]被表示为“-1 0 2”。
每行文本表示一个样本,每个样本的格式为"y index1:value1 index2:value1 index3:value3 ..."。其中:index为特征的ID,value为对应的特征值;训练数据的y为样本的类别,可以取1、-1两个值;预测数据的y为样本的ID值。比如,属于正类的样本[2.0, 3.1, 0.0, 0.0, -1, 2.2]的文本表示为“1 0:2.0 1:3.1 4:-1 5:2.2”,其中“1”为类别,"0:2.0"表示第0个特征的值为2.0。同理,属于负类的样本[2.0, 0.0, 0.1, 0.0, 0.0, 0.0]被表示为“-1 0:2.0 2:0.1”。
参数说明
提交命令 你可以通过下面命令向Yarn集群提交LR算法训练任务:
../../bin/angel-submit \
-Dml.epoch.num=20 \
-Dangel.app.submit.class=com.tencent.angel.ml.core.graphsubmit.GraphRunner \
-Dml.model.class.name=com.tencent.angel.ml.classification.LogisticRegression \
-Dml.feature.index.range=$featureNum \
-Dml.model.size=$featureNum \
-Dml.data.validate.ratio=0.1 \
-Dml.data.type=libsvm \
-Dml.learn.rate=0.1 \
-Dml.reg.l2=0.03 \
-Daction.type=train \
-Dml.inputlayer.optimizer=ftrl \
-Dangel.train.data.path=$input_path \
-Dangel.workergroup.number=20 \
-Dangel.worker.memory.mb=20000 \
-Dangel.worker.task.number=1 \
-Dangel.ps.number=20 \
-Dangel.ps.memory.mb=10000 \
-Dangel.task.data.storage.level=memory \
-Dangel.job.name=angel_l1
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。