regression

今日头条算法原理(全)

只谈情不闲聊 提交于 2020-08-11 04:11:08
3分钟了解今日头条推荐算法原理 今天,算法分发已经是信息平台、搜索引擎、浏览器、社交软件等几乎所有软件的标配,但同时,算法也开始面临质疑、挑战和误解。今日头条的推荐算法,从2012年9月第一版开发运行至今,已经经过四次大的调整和修改。 今日头条委托资深算法架构师曹欢欢博士,公开今日头条的算法原理,以期推动整个行业问诊算法、建言算法;通过让算法透明,来消除各界对算法的误解,并逐步推动整个行业让算法更好的造福社会。 以下为《今日头条算法原理》全文。 今日头条资深算法架构师曹欢欢: 本次分享将主要介绍今日头条推荐系统概览以及内容分析、用户标签、评估分析,内容安全等原理。 一、系统概览 推荐系统,如果用形式化的方式去描述实际上是拟合一个用户对内容满意度的函数,这个函数需要输入三个维度的变量。第一个维度是内容。头条现在已经是一个综合内容平台,图文、视频、UGC小视频、问答、微头条,每种内容有很多自己的特征,需要考虑怎样提取不同内容类型的特征做好推荐。第二个维度是用户特征。包括各种兴趣标签,职业、年龄、性别等,还有很多模型刻划出的隐式用户兴趣等。第三个维度是环境特征。这是移动互联网时代推荐的特点,用户随时随地移动,在工作场合、通勤、旅游等不同的场景,信息偏好有所偏移。结合三方面的维度,模型会给出一个预估,即推测推荐内容在这一场景下对这一用户是否合适。 这里还有一个问题

建模高手与初学者的差别在哪里?需要什么样的人来建模?

拟墨画扇 提交于 2020-08-10 21:58:47
我们知道,数据挖掘的基本流程包括:(1)业务理解、(2)数据理解、(3)数据准备、(4)数据预处理和建模、(5)模型评估、(6)模型部署应用。其中第 4 步,数据预处理和建模是整个流程的核心部分,其他的步骤都是围绕的该步骤进行的。建模高手和初学者的差距也往往在这里,建出一个模型很容易,快速高效的建出一个好的模型却不容易。 机器学习发展到今天已经有众多优秀前辈给我们贡献了各种各种现成的算法包,例如在 Scikit-learn 里就提供括回归 (Regression)、降维(Dimensionality Reduction)、分类(Classfication)、聚类(Clustering) 等方法的算法库,使用者只需要轻松的调包操作就能跑出一个模型。但是要建出高质量的模型,这是远远不够的。数据挖掘算法和数据库运算中用到的排序、分组算法有很大不同,后者是确定的算法,同样的数据进来就会出同样的结果,也没多少参数可调。而数据挖掘算法有许多经验因素,同样的数据进去,设置不同的参数来训练模型,结果很可能是不一样,甚至可能差别很大。以常用的 GBDT 算法为例,需要的参数有十几个,如下图所示,这些参数表示什么含义,如何去设置,如何能快速找到最佳值,当模型效果不好时如何去调参, 这都需要建模师对算法原理和应用场景有深刻的理解才能顺利进行。况且算法也不是只有这一种,在建模时用哪种算法

第8章 多项式回归与模型泛化 学习笔记下

这一生的挚爱 提交于 2020-08-10 21:04:24
8-7 偏差方差平衡 用学生的姓名来预测成绩,就会偏差很大,特征不对 knn对数据很敏感,一旦离它近的数据不合理或有问题则结果就不对,高度于依赖于样本数据 knn当使用所有样本时,即就是看哪个多就是哪个,则偏差最大,方差最小 机器学习的主要挑战,来自于方差,这是从算法的角度来说。 但对问题本身而言就不一定了,因为问题可能就很复杂,我们对其理解很肤浅。 方差可能就是学习了数据样本的噪音导致的 深度学习数据规模要足够多才可能有好的效果 8-8 模型泛化与岭回归08-Model-Regularization-and-Ridge-Regression 多项式回归过拟合的情况,有一些系数会很大,模型正则化就是限制其不要太大 很显然一些参数超级大 要考虑theta也尽可能的小,不需要theta0,它是截距,决定线的高低 限制theta的大小 alpha是新超参数,表示theta占的比重,如alpha为零则没有theta,如果为无穷大,则theta尽量小才能使目标尽可能小 这种方法又称为岭回归 from sklearn.pipeline import Pipeline from sklearn.preprocessing import PolynomialFeatures from sklearn.preprocessing import StandardScaler from sklearn

使用Excel创建线性回归模型

安稳与你 提交于 2020-08-10 09:43:18
作者|RAM DEWANI 编译|VK 来源|Analytics Vidhya 概述 你可以在Excel中执行建模,只需几个步骤 下面是一个教程,介绍如何在Excel中构建线性回归模型以及如何解释结果 介绍 Excel真的能构建预测模型? 这通常是我提起这个话题时的第一反应。当我演示如何利用Excel的灵活性为我们的数据科学和分析项目构建预测模型时,接下来是一个令人怀疑的眼神。 让我问你一个问题-如果你周围的商店开始收集客户数据,他们是否可以采用基于数据的策略来销售他们的商品?他们能预测自己的销售额或估计可能销售的产品数量吗? 现在你一定想知道,他们究竟将如何建立一个复杂的统计模型来预测这些事情?学习分析或雇佣分析师可能超出了他们的能力范围。好消息是,他们不需要。 Microsoft Excel为我们提供了一种构建预测模型的能力,而不必编写复杂的代码。 我们可以很容易地在MS Excel中建立一个简单的线性回归模型,它可以帮助我们在几个简单的步骤中执行分析。我们不需要精通Excel或统计学就可以进行预测建模! 在这篇文章中,我将解释如何在Excel中建立一个线性回归模型,以及如何对结果进行分析,以便你成为一名分析师! 目录 什么是线性回归? 在Excel中获取所有重要的Add分析工具包 在Excel中实现线性回归 解释我们预测模型的结果 我们如何改进模型? 用Excel做预测!

做目标检测,这6篇就够了:CVPR 2020目标检测论文盘点

走远了吗. 提交于 2020-08-10 02:20:51
   CVPR 2020 会议上,有哪些目标检测论文值得关注?   目标检测是计算机视觉中的经典问题之一。凭借大量可用数据、更快的 GPU 和更好的算法,现在我们可以轻松训练计算机以高精度检测出图像中的多个对象。   前不久结束的 CVPR 2020 会议在推动目标检测领域发展方面做出了一些贡献,本文就为大家推荐其中 6 篇有价值的目标检测论文。       论文清单   A Hierarchical Graph Network for 3D Object Detection on Point Clouds   HVNet: Hybrid Voxel Network for LiDAR Based 3D Object Detection   Point-GNN: Graph Neural Network for 3D Object Detection in a Point Cloud   Camouflaged Object Detection   Few-Shot Object Detection with Attention-RPN and Multi-Relation Detector   D2Det: Towards High-Quality Object Detection and Instance Segmentation    1. A Hierarchical

为什么我基于开源包建的模型效果不好?

两盒软妹~` 提交于 2020-08-09 23:27:03
机器学习发展到今天已经有众多优秀前辈给我们贡献了各种各种现成的开源包 以最流行的 Scikit-learn 为例,提供了包括回归 (Regression)、降维(Dimensionality Reduction)、分类(Classfication)、聚类(Clustering) 等方法的开源包,使用者可以灵活的实现各种建模操作。但是也有人发现了,同样的开源包不同的人建出的模型效果是不一样的,甚至大相径庭。为什么大牛就能建出高质量模型,而我基于开源包建的模型效果总是不尽人意呢?主要原因有以下三点: 首先是 数据本身质量差 。数据挖掘就像挖金矿,含金量高,那么挖掘难度就小,出金率就高,反之含金量低,那么就会难度大效果差。数据问题大概可以从 2 个方面来考虑,首先要检查数据量是否充足,大部分的机器学习算法都需要一定量的数据才能正常工作,太少的数据量会导致建模失败或模型效果不好,尤其要注意不平衡样本中阳性样本的数量;其次要分析参与建模的数据样本和特征分别是否具有代表性,例如要通过民调来预测美国总统大选,那么民调的样本要具有全面的代表性,不能只抽查偏向某一方的人群或地区,除了样本要有代表性数据特征也要有充足的相关性才容易建出好的模型。 但是,我和大牛使用的是同样数据,建出的模型依然不好,又是怎么回事? 第二个原因是 预处理没做好 。原始数据往往是不能拿来直接建模,还需要做预处理

SSE,MSE,RMSE,R-square指标讲解

我只是一个虾纸丫 提交于 2020-08-09 21:05:53
from: https://blog.csdn.net/danmeng8068/article/details/80143306 SSE(和方差、误差平方和):The sum of squares due to error MSE(均方差、方差):Mean squared error RMSE(均方根、标准差):Root mean squared error R-square(确定系数):Coefficient of determination Adjusted R-square:Degree-of-freedom adjusted coefficient of determination 下面我对以上几个名词进行详细的解释下,相信能给大家带来一定的帮助!! 一、SSE(和方差) 该统计参数计算的是拟合数据和原始数据对应点的误差的平方和,计算公式如下 SSE越接近于0,说明模型选择和拟合更好,数据预测也越成功。接下来的MSE和RMSE因为和SSE是同出一宗,所以效果一样 二、MSE(均方差) 该统计参数是预测数据和原始数据对应点误差的平方和的均值,也就是SSE/n,和SSE没有太大的区别,计算公式如下 三、RMSE(均方根) 该统计参数,也叫回归系统的拟合标准差,是MSE的平方根,就算公式如下 在这之前,我们所有的误差参数都是基于预测值(y_hat)和原始值(y)之间的误差

SIGIR 2020 | 第四范式提出深度稀疏网络模型,显著提升高维稀疏表数据分类效果...

半城伤御伤魂 提交于 2020-08-08 01:28:18
如今,在金融、零售、电商、互联网等领域的 AI 应用中,表数据都是最为常见且应用广泛的数据格式。将表数据进行准确的分类预测,对业务的提升起着至关重要的作用。 日前,第四范式提出了全新的深度神经网络表数据分类模型——深度稀疏网络(Deep Sparse Network,又名 NON),通过充分捕捉特征域内信息、刻画特征域间潜在相互作用、深度融合特征域交互操作的输出,获得超过 LR、GBDT 等常用算法以及 FFM、Wide&Deep、xDeepFM、AutoInt 等基于深度学习算法的分类效果,提升了表数据的预测准确度。 论文标题: Network On Network for Tabular Data Classificationin Real-world Applications 论文作者: 罗远飞、周浩、涂威威、陈雨强、戴文渊、杨强 论文链接: https://arxiv.org/abs/2005.10114 表数据分类模型的现状 在表格数据中,每行对应一个实例(样本),每列对应一个特征域。表数据分类是根据实例的特征域,将其分到对应的类别中。表数据通常同时具有连续特征域和类别特征域,而类别特征域通常是高维稀疏的。例如在在线广告中,类别特征域“advertiser_id”可能包含数百万个不同的广告主 id。 过往,包括随机森林、GBDT 在内的树模型常用于表数据分类

Accord.NET重启4.0 开发

流过昼夜 提交于 2020-08-06 08:59:33
Accord.NET Framework是在AForge.NET基础上封装和进一步开发来的。功能也很强大,因为AForge.NET更注重与一些底层和广度,而Accord.NET Framework更注重与机器学习这个专业,在其基础上提供了更多统计分析和处理函数,包括图像处理和计算机视觉算法,所以侧重点不同,但都非常有用。 官方网站 : http://accord-framework.net/ 在项目中断2年时间之后,作者 cesarsouza 在2020年5月1日更新了项目状态, 他在欧洲完成博士,虽然他的工作中主要使用Python完成他的工作,但是他喜欢C#/.NET,一直在考虑Accprd.NET的发展问题,5月15日重新设定了4.0 版本的路线图 https://github.com/accord-net/framework/issues/2123, 其中他写道:“我看到这个项目仍然被认为对许多人有用,我不认为让项目消亡符合任何人的利益。我最初认为这个项目将由ML.NET取代,但事实并非如此。我们可以转换框架,转而与它合作。” 我们在ML.NET的最初宣布文章中有Accord.NET的影子: CNTK 已经死了,目前只有 Tensoflow.NET在蓬勃发展,发展的情况很不错,随着Accord.NET的加入,这个生态又重新激活,期待大家一起加入,推动.NET机器学习生态的发展

第五章 线性回归 学习笔记中

与世无争的帅哥 提交于 2020-08-06 04:31:44
目录 5-5 衡量线性回归法的指标 MSE,RMS,MAE05-Regression-Metrics-MSE-vs-MAE 封装我们自己的评测函数 5-6 最好的衡量线性回归法的指标 R Squared 5-5 衡量线性回归法的指标 MSE,RMS,MAE05-Regression-Metrics-MSE-vs-MAE 其实是对训练数据集来说 衡量标准与样本数无关 量纲是平方,有时候会比较麻烦所以 x = x[y < 50.0] y = y[y < 50.0] 没想明白? x,y怎么都是判断y<50 SimpleLinearRegression.py import numpy as np class SimpleLinearRegression: def __init__(self): """初始化Simple Linear Regression模型""" self.a_ = None self.b_ = None def fit(self, x_train, y_train): """根据训练数据集x_train训练Simple Linear Regression模型""" assert x_train.ndim == 1, \ "Simple Linear Regressor can only solve single feature training data."