精华内容
下载资源
问答
  • # ------------------选取数据样本的第一行-------------------- print(food_info.loc[0]) #------------------选取数据样本的3到6行---------------------- print(food_info.loc[3:6]) #------------------head选取...
  • SVM样本选取

    2013-04-18 20:10:58
    样本看做是具有权重的,因此在对样本进行选取的时候,它对于SVM的训练和决策函数的优化的影响是权重的,即贡献值不一样。
  • 为解决上述问题,通过提取图像的相关纹理特征,提出一种样本块大小自适应选取方法。利用图像分解技术对图像进行预处理,利用图像灰度共生矩阵提取待修复图像的纹理特征,通过确定相关纹理特征与最优样本块大小的相互关系...
  • 提出了在支持向量机(support vector machine ,SVM)方法中采用遗传模糊 C-均值( FCM)进行样本选取方法,旨在保留最优分类超平面附近的样本点,去除远处样本点,使训练样本集减小,消除冗余,从而减小所需内存。...
  • 电信设备-地价调查样本选取信息处理方法及装置.zip
  • 为了提高基于一范数的核主成分分析算法(KPCA-L1)处理异常检测问题的速度,提出了基于样本选取和加权KPCA-L1的异常检测方法。该方法从训练集中选取具有代表性的特征子集,然后为所得特征子集中的样本赋予权重,用带...
  • 推荐召回阶段-正负样本选取准则

    千次阅读 2020-09-23 10:03:45
    粗排-正负样本选取准则 精排目的是在优中(用户感兴趣的商品中)择优(挑选用户最感兴趣的商品)、粗排从商品池子中挑选出用户感兴趣的商品,了解这一区分性后,对精排和粗排正负样本的选取便会采取不同方式 【结论...

    粗排-正负样本选取准则

    精排目的是在优中(用户感兴趣的商品中)择优(挑选用户最感兴趣的商品)、粗排从商品池子中挑选出用户感兴趣的商品,了解这一区分性后,对精排和粗排正负样本的选取便会采取不同方式。本文着重讲解粗排的负样本选取(以Embedding-based Retrieval in Facebook Search(EBR)论文为例)

    在这里插入图片描述

    【结论】

    文中指出:
    i 采用曝光未点击的样本直接作为负样本,比随机采样效果差;

    ii 仅仅采用hard negative策略(不加入easy negative),也比随机采样效果差(easy negative很有必要,easy :hard negative=100:1),且采用上一轮模型结果101-500的样本进行采样(作为hard negative)能得到最好的模型recall;

    iii 采用迁移学习模式,从easy model 迁移到hard model,结果不会变好,但从hard model迁移到easy model,能得到很大的召回率的提升

    一、负样本选取准则

    现有的准则,对正样本的选取没有异议,主要优化点,在于对负样本的选取
    当然文中也指出hard positive,通过访问用户的活动日志,发掘尚未被生产成功检索但仍为阳性的新结果(但没具体展开细讲)

    1、现有的负样本选取

    以是否点击为例:

    1.1 easy negative

    曝光未点击的商品为负样本,也称之为easy negative ,简言之,这种负样本的选取没有多大难度,只需筛选出曝光未点击的商品即可,这类商品数量有限,处理起来速度较快,且训练出来的模型,既能做排序,也能做召回

    1.2 随机抽样

    随机抽样的样本可能压根没曝光过,包含(曝光未点击,未曝光的商品),该方式选取负样本(从未点击的商品池中随机挑选商品)较easy negative速度较慢
    注:a.Youtube 和Microsoft的DSSM中的负样本是随机抽样来的,而不是简单的拿“曝光未点击”做负样本;b.随机抽样并不是在整个候选库中等概率抽样;c. 按照随机抽样训练出来的模型,可能无法对用户感兴趣的商品产生区分性(如优质商品概率相差不大)

    随机抽样步骤:

    i、当热门商品为正样本时,对该样本进行降采样,某商品成为正样本的概率为:

      Ppos=(np.sqrt(z(wi)/0.001)+1)*(0.001/z(wi)),其中z(wi)是第i个物料的曝光或点击占比。
    

    ii、当热门商品为负样本时,适当对该样本过采样,但同时也得保证长尾商品出现的机会,某商品成为负样本的概率为

    Pneg =n(wi)^a/np.sum(n(wj)^a),j=(1,2,3···n),n(wi)为第i个商品出现的次数,其中a一般为3/4
    

    值得注意的是:随机采样的正负样本选取方式和w2v的正负样本选取公式一模一样

    1.3 hard negative(作为easy negative的一种补充)

    随机抽样可能挖掘不到用户偏好上的细微差异,为了增强样本的区分性,提出hard negative的概念。从字面来看,hard negative即为比较难的负样本,即匹配度适中的,用户既可能喜欢,也可能不喜欢,但实际是不喜欢的的负样本
    业界挑选hard negative主要方式如下

    • 业务逻辑选取(以airbnb为例)

    i 增加与正样本同城的房间作为负样本,增强了正负样本在地域上的相似性,加大了模型的学习难度

    ii 增加“被房主拒绝”作为负样本,增强了正负样本在“匹配用户兴趣爱好”上的相似性,加大了模型的学习难度

    放在列表页场景(个人理解)
    a 增加skc级别的负样本(某个商品点击了黄色,但没点击绿色,增加绿色的样本)
    b 增加与某商品相似度(点击) 较高的(未点击样本)

    • 模型挖掘

    EBR与百度Mobius的做法极其相似,都是用上一版本的召回模型筛选出"没那么相似"的<user,doc>对,作为额外负样本,训练下一版本召回模型。

    EBR的做法是:采用上一版模型召回位置在101~500上的item作为hard negative(负样本还是以easy negative为主,文章中经验值是easy:hard=100:1)
    注意
    个人见解:在没有更好的业务逻辑(选取hard negative)时,采用这种方式实现起来比较简单

    1.4 模型融合

    文中指出串行融合和并行融合两种方式,可提高模型的线下以及线上评估指标
    a 并行融合
    依照不同目标训练不同的模型,以不同权重融合

       final_score =w1*model_1+w2*model_2+···wn*model_n
    

    现阶段,很多公司就是这么处理的
    b 串行融合
    其本质是先用easy model挑出候选集,再用hard model对easy model的结果进一步训练,剩余结果交给下游(如精排)
    而这种放式,更像是粗排-更复杂的粗排-精排-重排的演变方式

    参考

    1、2020 facebook Embedding-based Retrieval in Facebook Search(EBR)论文
    2、https://zhuanlan.zhihu.com/p/39684349
    3、https://zhuanlan.zhihu.com/p/165064102?utm_source=qq

    展开全文
  • 文中提出了一种区别于通常以插值点为中心展开生成样本点组的新方法 :在求解过程中,用插值点逐步替代初始样本点组中距离验算点较远的点,其目的是使所选取样本点较集中于验算点附近,重新构成下一轮迭代所需的一组...
  • pandas数据样本行列选取

    万次阅读 2017-03-10 16:35:00
    注:以下代码是基于python3.5.0编写的 import pandas food_info = pandas.read_csv("food_info.csv") # ------------------选取数据样本的第一行---------------...#------------------选取数据样本的3到6行---------

    注:以下代码是基于python3.5.0编写的

    import pandas
    
    food_info = pandas.read_csv("food_info.csv")
    # ------------------选取数据样本的第一行--------------------
    print(food_info.loc[0])
    
    #------------------选取数据样本的36----------------------
    print(food_info.loc[3:6])
    
    #------------------head选取数据样本的前几行------------------
    print(food_info.head(2))
    
    # ------------------选取数据样本的2,5,10,两种方法-----------
    # print(food_info.loc[[2,5,10]])         #方法一 
    two_five_ten = [2,5,10]                  #方法二
    print(food_info.loc[two_five_ten])
    
    # ------------------选取数据样本的NDB_No--------------------
    # ndb_col = food_info["NDB_No"]          #方法一  
    col_name = "NDB_No"                      #方法二
    ndb_col = food_info[col_name]
    print(ndb_col)
    
    # ------------------选取数据样本的多列-------------------
    # zinc_copper = food_info[["Zinc_(mg)", "Copper_(mg)"]]
    columns = ["Zinc_(mg)", "Copper_(mg)"]
    zinc_copper = food_info[columns]
    print(zinc_copper)
    
    # ---------------------综合小例子----------------------------
    col_names = food_info.columns.tolist()     #把所有的行转化成list
    print(col_names)
    gram_columns = []
    
    for c in col_names:                        #遍历col_names,找出所有以(g)结尾的位置
        if c.endswith("(g)"):
            gram_columns.append(c)
    print(gram_columns)
    gram_df = food_info[gram_columns]          #把所有以(g)结尾的列存放到gram_df
    print(gram_df.head(3))                     #打印前3
    展开全文
  • 关于ADABOOST人脸检测负样本选取

    千次阅读 2014-10-29 16:03:44
    其他人脸检测方法,负样本需要的数量我不清楚,但是ADABOOST所需负样本数量非常之大。在训练层数后期,当最大误警率很低,如2*10-5次方,同时参与训练的负样本为4000时,那么需要的负样本就要2*10^8。解决的方法是自...

    其他人脸检测方法,负样本需要的数量我不清楚,但是ADABOOST所需负样本数量非常之大。在训练层数后期,当最大误警率很低,如2*10-5次方,同时参与训练的负样本为4000时,那么需要的负样本就要2*10^8。解决的方法是自举。但自举最重要的是负样本本身的尺寸一定要足够大1000*1000。同时针对不同应用场景,我们需要不同的负样本。比如车内的人脸检测,负样本本身就要体现出车内分人脸的特性,湖水 蓝天之类的就没有任何区分效果。这在下面的Q&A中也有体现。


    Viola-Jones' AdaBoost method is very popular for face detection? We need lots of positive and negative samples o train a face detector.

    The rule for collecting positive sample is simple: the image which contains faces. But the rule for collecting negative sample is not very clear: the image which does not contains faces.

    But there are so many scene that do not contain faces (which may be sky, river, house animals etc.). Which should I collect it? How can know I have collected enough negative samples?

    Some suggested idea for negative samples: using the positive samples and crop the face region using the left part as negative samples. Is this work? 


    Answer:

    You have asked many questions inside your thread.

    1. Amount of samples. As a rule of thumbs: When you train a detector you need roughly few thousands positive and negative examples per stage. Typical detector has 10-20 stages. Each stage reduces the amount of negative by a factor of 2. So you will need roughly 3,000 - 10,000 positive examples and ~5,000,000 to 100,000,000 negative examples.
    2. Which negatives to take. A rule of thumb: You need to find a face in a given environment. So you need to take that environment as negative examples. For instance, if you try to detect faces of students sitting in a classroom than take as negative examples images from the classroom (walls, windows, human body, clothes etc). Taking images of the moon or of the sky will probably not help you. If you don't know your environment than just take as much as possible different natural images (under different light conditions).
    3. Should you take facial parts (like an eye, or a nose) as negative? You can but this is definitely not enough (to take only those negatives). The real strength of the detector will come from the negative images which represent the typical background of the faces
    4. How to collect/generate negative samples - You don't actually need many negative images. You can take 1000 images and generate 10,000,000 negative samples from them. Here is how you do it. Suppose you take a photo of a car of 1 mega pixel resolution 1000x1000 pixels. Suppose than you want to train face detector to work on resolution of 20x20 pixels (like openCV did). So you take your 1000x1000 big image and cut it to pieces of 20x20. You can get 2,500 pieces (50x50). So this is how from a single big image you generated 2,500 negative examples. Now you can take the same big image and cut it to pieces of size 10x10 pixels. You will now have additional 10,000 negative examples. Each example is of size 10x10 pixels and you can enlarge it by factor of 2 to force all the sample to have the same size. You can repeat this process as much as you want (cutting the input image to pieces of different size). Mathematically speaking, if your image is of size NxN - You can generate O(N^4) negative examples from it by taking each possible rectangle inside it.
    5. In step 4, I described how to take a single big image and cut it to a large amount of negative examples. I must warn you that negative examples should not have high co-variance so I don't recommend taking only one image and generating 1 million negative examples from it. As a rule of thumb - create a library of 1000 images (or download random images from Google). Verify than none of the images contains faces. Crop about 10,000 negative examples from each image and now you have got a decent 10,000,000 negative examples. Train your detector. In the next step you can cut each image to ~50,000 (partially overlapping pieces) and thus enlarge your amount of negatives to 50 millions. You will start having very good results with it.
    6. Final enhancement step of the detector. When you already have a rather good detector, run it on many images. It will produce false detections (detect face where there is no face). Gather all those false detections and add them to your negative set. Now retrain the detector once again. The more such iterations you do the better your detector becomes
    7. Real numbers - The best face detectors today (like Facebooks) use hundreds of millions of positive examples and billions of negatives. As positive examples they take not only frontal faces but faces in many orientations, different facial expressions (smiling, shouting, angry,...), different age groups, different genders, different races (Caucasians, blacks, Thai, Chinese,....), with or without glasses/hat/sunglasses/make-up etc. You will not be able to compete with the best, so don't get angry if your detector misses some faces.
      Good luck 

    展开全文
  • 将日常工作中遇到的数数据冲突和样本源的方法进行总结,其中主要包括 实际业务数据冲突、样本选取问题、数据共线性 等思路,并且长期更新。 实际业务数据冲突 多业务数据源冲突是指来自多个或具有相同业务逻辑但结果...

    内容介绍

    将日常工作中遇到的数数据冲突和样本源的方法进行总结,其中主要包括 实际业务数据冲突、样本选取问题、数据共线性 等思路,并且长期更新。

    实际业务数据冲突

    多业务数据源冲突是指来自多个或具有相同业务逻辑但结果不同的系统,环境,平台和工具的数据。根据冲突的不同特征。

    一般数据冲突类型:

    • 数据类型:同字段数据的格式不同。例如注册日期的字段包含字符串。
    • 数据结构冲突:同一数据主体的描述结构存在冲突。
    • 记录粒度不同:订单记录的粒度可以基于ID存储在一条数据中。
    • 数据范围定义:提取的数据字段含义不同发生冲突。
    • 数据值不同:一般发生情况是格式问题。

    一般数据冲突原因:

    内部工具和第三方工具之间的数据冲突。为什么获得的数据与代理商或广告媒体提供的广告数据之间存在差异,有时差异会特别大?网站分析工具获得的数据与广告媒体和代理商提供的数据之间不可避免地存在差异。 指标的不同定义,不同的收集逻辑,系统过滤规则不同,不同的更新时间,不同的监控位置等等不同步的原因都会产生这些问题。

    一般数据处理方法:

    目前来说没有一个统一的标准,根据实际需要进行处理即可。

    • 形成唯一数据:如果要进行总体摘要统计,则需要以某种方式消除冲突以便报告一个数据。
    • 不消除冲突:而要使用所有冲突的数据。如果在进行整体流程统计分析时使用不同业务流程的不同数据,则不同的指标将具有更好的渠道转换效果。要保证处理后的结果差异可解释,且客观稳定。

    样本的选择

    数据抽样还是全量基于已经有的数据来说,肯定是数据越全越好,但是实际情况并不是那么理想,我们只能利用统计学的方法使用抽样的方式进行取样比较理想。

    一般数据采样方法:

    抽样方法通常分为非概率抽样和概率抽样。非概率采样不是基于均等概率原理,而是基于人类的主观经验和状态。概率抽样基于数学概率论,而抽样则基于随机性原理。

    • 简单随机抽样:抽样方法是根据等概率原理直接从总数中抽取n个样本。这种随机采样方法简单易操作;但这并不能保证样本可以完美地代表总体。此方法适用于均匀分布的场景。
    • 等距采样:等距采样是首先对总体中的每个个体进行编号,然后计算采样间隔,然后根据固定的采样间隔对个体进行采样。适用于分布均匀或显示明显均匀分布规律,没有明显趋势或周期性规律的数据。
    • 分层抽样:分层抽样是根据某些特征将所有单个样本划分为几个类别,然后从每个类别中使用随机抽样或等距抽样来选择个体以形成样本。此方法适用于具有特征(例如属性和分类逻辑标签)的数据。
    • 整群抽样:整群抽样是先将所有样本分成几个小组,然后再随机抽样几个小组来代表总体。该方法适用于特征差异相对较小的小组,对划分小组的要求更高。

    注意的几个问题:

    数据采样必须反映操作的背景,不存在业务随机性及业务数据可行性问题,最重要的数据采样必须满足数据分析和建模的需求

    数据的共线性

    所谓共线性(也称为多重共线性)问题是指输入自变量之间的高线性相关性。共线性问题将大大降低回归模型的稳定性和准确性。例如具有明显共线性的数据:访问和页面浏览量;页面浏览量和访问时间;订单数量和销售等。

    一般产生原因:

    • 数据样本不足,这实际上反映了缺乏数据对数据建模的影响的一部分。
    • 许多变量具有基于时间的共同或相反的演变趋势。
    • 多个变量间存在一定的关系但是发生节点不一致,总体上变量之间的趋势是一致的。
    • 多个变量之间存在近似线性关系。简单理解为一个 y=ax + b 这么一个关系。

    检验共线性: 共线性通常由公差,方差因子和特征值的特征数据确定,做出判断。

    解决共线性的5种常用方法:

    • 增大样本量:通过增加样本消除由于数据量不足而出现的偶然共线性现象,也可能无法解决共线性问题,原因是很可能变量间确实存在这个问题。
    • 岭回归(Ridge Regression):岭回归分析是专用于共线性问题的有偏估计回归方法,本质上是一种改进的最小二乘估计方法。
    • 逐步回归:一次引入一个自变量并进行统计检验,然后逐步引入其他变量,同时测试所有变量的回归系数。
    • 主成分回归(Principal Components Regression):可以基于主成分进行回归分析在不丢失重要数据特征的情况下避免共线性问题。
    • 手动删除:觉得麻烦的话直接结合了手动经验删了就是了。
      完全解决共线性问题是不可能的,因为所有事物之间都有一定的联系。在解决共线性问题的相关主题中,我们仅解决严重的共线性问题,而不是所有共线性问题。
    展开全文
  • 目标检测大量的算法,这篇文章对其中正负样本选取方法进行了总结。对于正样本,是回归与分类都进行,而负样本由于没有回归的对象,不进行回归,只进行分类(分类为背景)。 二、正文 1.Fast R-CNN 构造如下:...
  • Part 1.2 如何选取样本数据

    千次阅读 2019-05-21 14:11:05
    我们需要做的事情是基于Y值去选取我们的建模样本 建模样本一般可以从两个维度去思考 授信维度:判断客户好坏的是 人 从人角度出发,判断客户在某一段时间内是否出现逾期笔数,比如逾期天数超过30天, 1 首先判断...
  • kennard-stone选取样本算法的matlab的源代码,适用于红外光谱样本的筛选,kennard-stone选取样本算法的matlab的源代码
  • 八种样本抽样方法介绍

    万次阅读 多人点赞 2019-10-16 09:24:15
    介绍 你肯定很熟悉以下情况:你下载了一个比较大的数据集,并开始分析并建立你的机器学习模型。当加载数据集时,你的计算机会爆出"内存...是否一种方法可以选择数据的子集并进行分析,并且该子集可以很好地表示整...
  • 示例(instance)或样本(sample):每条记录是关于一个事件或者对象的描述。 属性(attribute)或特征(feature):反映事件或对象在某方面的表现或性质的事项。 属性值(attribute value):属性上的取值。 ...
  • 基于改进卡方校验的特征选取方法

    千次阅读 2016-02-26 20:14:45
    前言卡方校验可以用作...卡方校验其实是梳理统计中一种常用的校验两个变量独立性的方法.通常,我们会用一个相关性表格来描述卡方校验,具体理论知识,我们可以参考一下的网址: 特征选取算法之卡方校验卡方校验的实现多维
  • 调参小技巧-DBSCAN参数选取方法

    万次阅读 2019-05-10 09:17:24
    利用循环迭代一些参数变量选取最适合的参数 1.初始数据处理部分,请自行对照调整,此处仅作为保持流程完整使用。 # 读入第三方包 from sklearn import preprocessing # 选取建模的变量 predictors = ['Birth_Rate',...
  • BP神经网络训练样本选取对网络的泛化能力较大的影响,特别,怎样从商维大样本数据中选取合适训练样本是一个难点。本文运用因子分析法对大样本数据进行预处理,再利用分析所得的公因子进行聚类分析,这样既可以...
  • 数据样本的选择方法

    万次阅读 2017-04-26 10:41:33
     在目前我的实验中训练样本主要两种选择方式:(当让还有很多选择方式,比如我在人脸图像亲缘识别的实验中是将所有的数据当作训练样本,在将所有的数据作为测试样本来测试方法的识别率、还有比如交叉验证等很多...
  • 举例说明,在一组样本中不同类别的样本量差异非常大,比如拥有1000条数据样本的数据集中,一类样本的分类只占有10条,此时属于严重的数据样本分布不均衡。 样本不均衡指的是给定数据集中的类别数据多,的数据...
  • 不平衡样本处理方法

    千次阅读 2018-01-14 12:00:40
      在很多机器学习任务中,训练集中可能会存在某个或某些类别下的样本数远大于另一些类别下的样本数目。即类别不平衡,为了使得学习达到更好的效果,因此需要解决该类别不平衡问题。 Jason Brownlee 的回复:
  • 当我们选定了一套样本,想要自动分割为训练样本和测试样本时,即可以参考此方法,简单有效。(1)首先:我们要一套样本点的shp文件。(2)将该shp文件在ArcGIS Desktop中打开。(3)菜单栏Customize中的Extension...
  • 常用样本数据集介绍与下载汇总

    千次阅读 多人点赞 2020-07-22 11:24:55
      本文整理了近些年常用的小样本数据集,提供了数据集介绍,参考文献以及下载地址。我手头资源的都已经上传至百度云盘,其他数据集也提供了官方的下载地址(有些可能需要翻墙)。最后还对各个数据集的情况做了一...
  • 1. 正负样本构造常规方法 推荐算法更多是监督的学习,一般情况下将行为的用户作为正样本,但是不绝对,取决于目标是什么。因此需要首先充分了解需求,比如目标的群体是什么,事件或推荐的物品是什么,最终以...
  • 人工神经网络训练样本的选择方法

    万次阅读 2016-02-25 20:41:41
    人工神经网络训练样本的选择一般三种方法,即随机遍历法、正交设计法和均匀设计方法
  • import pandas food_info = pandas.read_csv("food_info.csv") #print(type(food_info)) print food_info.dtypes#first_rows = food_info.head() #print first_rows #print(food_info.head(3)) ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 82,368
精华内容 32,947
关键字:

常用的样本选取方法有