逻辑回归模型(logistic regression model)是一种分类模型。它是最常见和常用的一种分类方法,在传统的广告推荐中被大量使用,朴实但有效。
逻辑回归模型(logistic regression model)是一种分类模型。样本x属于类别y的概率P(y | x)服从logistic分布: |
综合两种情况,有:
逻辑回归模型使用log损失函数,带L2惩罚项的目标函数如下所示:
其中:为L2正则项。
数据的格式通过“ml.data.type”参数设置;数据特征的个数,即特征向量的维度通过参数“ml.feature.num”设置。
LR on Angel支持“libsvm”、“dummy”两种数据格式,分别如下所示:
每行文本表示一个样本,每个样本的格式为”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”。
./bin/angel-submit \
--action.type train \
--angel.app.submit.class com.tencent.angel.ml.classification.lr.LRRunner \
--angel.train.data.path $input_path \
--angel.save.model.path $model_path \
--angel.log.path $logpath \
--ml.epoch.num 10 \
--ml.batch.num 10 \
--ml.feature.num 10000 \
--ml.validate.ratio 0.1 \
--ml.data.type dummy \
--ml.learn.rate 1 \
--ml.learn.decay 0.1 \
--ml.reg.l2 0 \
--angel.workergroup.number 3 \
--angel.worker.task.number 3 \
--angel.ps.number 1 \
--angel.ps.memory.mb 5000 \
--angel.job.name=angel_lr_smalldata