![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
文章平均质量分 67
我是女孩
这个作者很懒,什么都没留下…
展开
-
python matplotlib 画图
# -*- coding: utf-8 -*-import numpy as npimport matplotlib.pyplot as pltfrom matplotlib import rcimport matplotlib.path as mpathfig = plt.figure()ax = fig.add_subplot(221, aspect='auto')#2*2的画布,放在第一个位置ax.grid(True) # 隐藏网格ax.grid(False)rc('mat...原创 2021-12-09 16:23:43 · 1723 阅读 · 0 评论 -
LR损失函数推导
第十三篇 LR损失函数推导原创 2021-09-10 11:29:25 · 196 阅读 · 0 评论 -
gdbt,xgboost,lightgbm区别与联系
gbdt 随着迭代次数(树个数的增加)效果刚开始比较好,后面就会过拟合变差;但是随机森林就不会存着这个问题,基本树个数越多越好 gbdt 回归和分类的实现是一样的,只不过损失函数不同,回归用的是MSE,分类用的交叉熵,都是回归树,因为拟合的负梯度,所以必须是CART回归树,寻找最优变量的最佳分割点(每一个值作为分裂点,计算左子树和右子树收益,择优录取) ...原创 2021-05-08 15:09:32 · 472 阅读 · 0 评论 -
lightgbm
工程实现写的很好https://mp.weixin.qq.com/s/BIHr5GDunm2U-Szs0Dt32w原创 2021-05-08 14:22:46 · 187 阅读 · 0 评论 -
xgboost
通俗理解kaggle比赛大杀器xgboost(原理讲解)https://blog.csdn.net/v_july_v/article/details/81410574xgboost原理分析以及实践(手动建树过程)https://blog.csdn.net/qq_22238533/article/details/79477547xgboost如何处理缺失值(自动处理缺失值,而GBDT...原创 2021-05-08 14:22:28 · 290 阅读 · 0 评论 -
分类问题可以使用MSE(均方误差)作为损失函数吗
一、. 从损失函数公式本身来说1. 从损失函数公式的物理含义来说MSE衡量的是预测值和目标值的欧式距离。而交叉熵是一个信息论的概念,交叉熵能够衡量同一个随机变量中的两个不同概率分布的差异程度,在机器学习中就表示为真实概率分布与预测概率分布之间的差异。交叉熵的值越小,模型预测效果就越好。所以交叉熵本质上是概率问题,表征真实概率分布与预测概率分布差异,和几何上的欧氏距离无关,在回归中才有欧氏距离的说法,而在分类问题中label的值大小在欧氏空间中是没有意义的。所以分类问题不能用mse作为损失函数原创 2021-03-31 17:40:11 · 8961 阅读 · 0 评论 -
标签传播算法(半监督图算法)
graphx 实现参数调优很简单。LPA 使用最大迭代参数运行,并且使用默认值 5 就可以得到一些好的结果。Raghavan 和她的合作者在几个有标签的网络上测试了 LPA。他们发现至少 95% 的节点在 5 次迭代中被正确分类。 运行时间内近线性。LPA 的每次迭代都是 O (m),边的数量是线性的。与 以前的一些社区检测解决方案中的O (n log n) 或 O (m+n) 相比,...原创 2021-03-13 16:12:37 · 2323 阅读 · 0 评论 -
学习估计旅行时间(ETA)
论文https://dl.acm.org/doi/pdf/10.1145/3219819.3219900 车辆行程时间估计(ETA)是最重要的基于位置的服务之一。它作为导航系统和智能交通系统中的一项基本服务,正变得越来越重要并得到广泛的应用。提出了一种基于浮动车辆数据的车辆行驶时间预测的机器学习方法。首先,我们将ETA描述为一个基于大量有效特征的纯时空回归问题。其次,我们采用不同的机器学习模型来解决回归问题问题。而且在此基础上,提出了一种宽深度递归(WDR)学习模型来精确预测给定出发...原创 2021-02-08 18:53:44 · 4905 阅读 · 0 评论 -
ETA时间预估
配送交付时间轻量级预估实践https://tech.meituan.com/2019/10/10/distribution-time-prediction-practice.html深度学习在美团配送ETA预估中的探索与实践原创 2021-02-02 19:54:55 · 1711 阅读 · 0 评论 -
归一化(MinMax)和标准化(Standard)哪个更好?
定义上的区别归一化:将数据的值压缩到0到1之间,公式如下标准化:将数据所防伪均值是0,方差为1的状态,公式如下:归一化、标准化的好处:在机器学习算法的目标函数(例如SVM的RBF内核或线性模型的l1和l2正则化),许多学习算法中目标函数的基础都是假设所有的特征都是零均值并且具有同一阶数上的方差。如果某个特征的方差比其他特征大几个数量级,那么它就会在学习算法中占据主导位置,导致学习器并不能像我们说期望的那样,从其他特征中学习。举一个简单的例子,在KNN中,我们需要计算待分类点.原创 2020-09-22 14:24:00 · 5771 阅读 · 0 评论 -
优化器求解,约束条件是或的关系 scipy库
https://blog.csdn.net/qq_39575835/article/details/101173969>>> from scipy.optimize import minimize>>> import numpy as np# 定义目标函数>>> def rosen(x):... """The Rosenbrock function"""... return sum(100.0*(x[1:]-x...原创 2020-09-18 15:54:32 · 589 阅读 · 3 评论 -
ltr 包 ranklib 的java 调用
官方文档https://sourceforge.net/p/lemur/wiki/RankLib%20How%20to%20use/#training没有对外开放的java接口,看源码后发现可以按照下面的方式调用进行传参pom文件添加 <dependency> <groupId>org.codelibs</groupId> <artifactId>ranklib</artif原创 2020-09-02 17:35:47 · 343 阅读 · 0 评论 -
pyspark udf函数
from pyspark.sql.types import ArrayType def square_list(x): return [float(val)**2 for val in x]square_list_udf = udf(lambda y: square_list(y), ArrayType(FloatType()))df.select('integer_arrays...原创 2020-04-21 22:04:00 · 760 阅读 · 0 评论 -
基于组合优化的出租车订单调度模型
出租车预订应用程序在世界各地非常流行,因为它们为用户提供了快速响应时间等便利。出租车预订应用程序的关键组件是调度系统,该系统旨在提供司机和乘客之间的最佳匹配。传统的调度系统按顺序向乘客调度出租车,目的是使每个订单的驾驶员接受率最大化。然而,传统的系统可能导致较低的全球成功率,这会降低骑手使用应用程序时的体验。在本文中,我们提出一个新的系统,试图优化调度出租车服务多个预订。该系统旨在最大化全球成功率...原创 2020-03-30 17:22:19 · 3169 阅读 · 1 评论 -
特征工程
数据和特征决定了模型的上限,算法只是在帮忙逼近这个上限。1.显性特征:可以理解为用户直接可以拿到的数据字段2.半隐性特征:用户数据在通过GBDT等算法的计算过程中产出的一些特征3.隐性特征:深度学习在很大程度上可以简化人肉特征工程的工作量,因为深度学习可以在计算过程中自动生成一些特征向量,这些特征的表达往往是不可解释的,那这些特征就是隐性特征。显性特征:1.数据清洗...原创 2018-06-19 20:49:01 · 738 阅读 · 0 评论 -
神经网络多分类任务的损失函数——交叉熵
神经网络多分类任务的损失函数——交叉熵神经网络解决多分类问题最常用的方法是设置n个输出节点,其中n为类别的个数。对于每一个样例,神经网络可以得到的一个n维数组作为输出结果。数组中的每一个维度(也就是每一个输出节点)对应一个类别。在理想情况下,如果一个样本属于类别k,那么这个类别所对应的输出节点的输出值应该为1,而其他节点的输出都为0。以识别手写数字为例,0~9共十个类别。识别数字1,神经网...原创 2020-03-12 20:29:27 · 2938 阅读 · 0 评论 -
word2vec 两个模型,两个加速方法 负采样加速Skip-gram模型 层序Softmax加速CBOW模型 item2vec 双塔模型 (DSSM双塔模型)
MovieTaster-使用Item2Vec做电影推荐https://blog.csdn.net/u011239443/article/details/82110770MovieTaster-Openhttps://github.com/lujiaying/MovieTaster-Open目前的实现都是基于skip-gram,给定中心词计算上下文的概率,最后以每个词的中心词向量作为...原创 2020-03-12 20:24:08 · 2624 阅读 · 0 评论 -
选取训练神经网络时的Batch size ,BatchNorm
结论:batch size 一般为2的幂次方,128为分位线,向下(乘以0.5)或向上(乘以2)测试效果,若向下效果继续,乘以0.5,直指结果不再变好,数值范围一般在:2到512.有论文说最好的实验表现都是在batch size处于2~32之间得到的 一阶优化算法:sgd,adam等,一般Batch size比较小.二阶优化算法:共轭梯度法,L-BFGS等需要二阶导数,太小,对二阶导数误差...原创 2020-03-12 14:03:50 · 1657 阅读 · 0 评论 -
循环神经网络
写的很赞,简书https://zybuluo.com/hanbingtao/note/541458tensorFlowhttp://www.qingpingshan.com/m/view.php?aid=306963总体感知在通过一个有趣的应用来更深入地加以体会:我们将利用RNN训练一个字母级别的语言模型。也就是说,给RNN输入巨量的文本,然后让其建模并根据一个序列中...原创 2020-03-02 14:28:06 · 191 阅读 · 0 评论 -
RNN LSTM
基于Seq2Seq模型的深度学习推荐算法https://blog.csdn.net/weixin_44356285/article/details/86472423?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task...原创 2020-03-02 14:06:04 · 139 阅读 · 0 评论 -
k折交叉验证,stacking和blending模型融合,xgboost可自定损失函数,但是要求出一阶,二阶导数,解决类别不平衡的问题,过采样或者代价敏感函数
K折交叉验证一般情况将K折交叉验证用于模型调优,找到使得模型泛化性能最优的超参值。找到最优参数后,在全部训练集上重新训练模型,并使用独立测试集对模型性能做出最终评价。如果训练数据集相对较小,则增大k值。增大k值,在每次迭代过程中将会有更多的数据用于模型训练,能够得到最小偏差,同时算法时间延长。且训练块间高度相似,导致评价结果方差较高。如果训练集相对较大,则减小k值。减小k值,降...原创 2020-02-28 15:46:22 · 1542 阅读 · 0 评论 -
tensorflow学习笔记--embedding_lookup()用法
embedding_lookup( )的用法关于tensorflow中embedding_lookup( )的用法,在Udacity的word2vec会涉及到,本文将通俗的进行解释。首先看一段网上的简单代码:#!/usr/bin/env/python# coding=utf-8import tensorflow as tfimport numpy as npinput_i...原创 2020-02-25 17:13:39 · 316 阅读 · 0 评论 -
python 读取pmml文件 计算auc
#gbdt模型效果from sklearn.metrics import roc_auc_scorefrom pypmml import Modelcols = ["start_distance","price","time_diff" ]model = Model.fromFile('look_order_cross_city_gbdt_diff-2-14.pmml')#加载模型文件...原创 2020-02-21 19:56:42 · 4338 阅读 · 0 评论 -
lightgbm处理类别特征
lightGBM的categorical_feature(类别特征)使用http://www.luyixian.cn/news_show_253681.aspxlightGBM比XGBoost的1个改进之处在于对类别特征的处理, 不再需要将类别特征转为one-hot形式, 具体可参考这里.在使用python API时(参考官方文档)1.可以使用pd.DataFrame存放特征X, 每一...原创 2020-02-04 15:01:24 · 19967 阅读 · 10 评论 -
pmml文件模型,Java调用
自定义类转pmmlsklearn中,继承TransformerMixin实现自定义类放入pipeline,sklearn2pmml生成pmml报错,说是不支持自定义的转换类import lightgbm as lgbimport numpy as npfrom sklearn.base import BaseEstimator, TransformerMixinfrom skle...原创 2019-11-26 16:11:07 · 1729 阅读 · 1 评论 -
FM,FMM,deepFFM模型总结,深度排序模型
微博团队张俊林https://zhuanlan.zhihu.com/p/67795161如果你是 liblinear、libfm、libffm 的用户,那么现在 xLearn 将会是你更好的选https://xlearn-doc-cn.readthedocs.io/en/latest/index.html一般我们做LR,会在上面求和基础上,套一个sigmoid函数,也就是上图中...转载 2019-06-19 16:15:55 · 2836 阅读 · 0 评论 -
决策树
参考文献spark 机器学习 决策树 原理(一)https://www.cnblogs.com/xiguage119/archive/2019/06/13/11015677.html归纳决策树ID3(Java实现)https://www.cnblogs.com/zhangchaoyang/articles/2196631.html分类回归树CART(上)https://ww...原创 2019-06-20 20:04:20 · 640 阅读 · 0 评论 -
GBDT
spark GBDThttps://blog.csdn.net/qq_34531825/article/details/52366265Spark中组件Mllib的学习39之梯度提升树(GBT)用于分类*http://www.voidcn.com/article/p-dygpjmko-qh.html (测试代码)随机森林(调参更容易,不需要剪枝,树自然增长即可,而GBDT树太深容...原创 2019-06-21 11:33:00 · 420 阅读 · 0 评论 -
逻辑回归损失函数为什么使用最大似然估计而不用最小二乘法
最小二乘法的误差符合正态分布,而逻辑回归的误差符合的是二项分布,所以不能用最小二乘法来作为损失函数,那么能够用最大似然预计来做。从求最优解的角度来解释:如果用最小二乘法,目标函数就是,是非凸的,不容易求解,会得到局部最优。如果用最大似然估计,目标函数就是对数似然函数:,是关于的高阶连续可导凸函数,可以方便通过一些凸优化算法求解,比如梯度下降法、牛顿法等。最小二乘作为损失...原创 2019-06-17 16:45:11 · 6626 阅读 · 3 评论 -
深度学习最全优化方法总结比较(SGD,SGDM,Adam,Adagrad,Adadelta,Adam)
拿来药材(数据),架起八卦炉(模型),点着六味真火(优化算法),就摇着蒲扇等着丹药出炉了。不过,当过厨子的都知道,同样的食材,同样的菜谱,但火候不一样了,这出来的口味可是千差万别。火小了夹生,火大了易糊,火不匀则半生半糊。 机器学习也是一样,模型优化算法的选择直接关系到最终模型的性能。有时候效果不好,未必是特征的问题或者模型设计的问题,很可能就是优化算法的问题。 ...原创 2019-06-17 17:53:04 · 21593 阅读 · 4 评论 -
时序预测(facebook的prophet)
prophet易用性,你利用Prophet可以直接通过修改季节参数来拟合季节性,修改趋势参数来拟合趋势信息,指定假期来拟合假期信息等等。本质上讲,Prophet是由四个组件组成的自加性回归模型:分段线性或逻辑增长函数模型趋势分量。 Prophet通过从数据中变点选择(前80%的数据),自动检测趋势的变化。用傅里叶级数模拟周期性分量用户提供的重要节日列表,模拟节假日分量的影响范围Prop...原创 2019-06-27 10:36:07 · 3315 阅读 · 0 评论 -
时序预测
单实例单指标过去3个月是10万,单region有1万实例,单region单指标是10亿数据,6节点集群,时间序列可以分为平稳序列,即存在某种周期,季节性及趋势的方差和均值不随时间变化的序列(平稳就是围绕着一个常数上下波动),及非平稳序列arima和arma区别:关键的差别是有没有进行差分运算,不过差分运算会让人难懂模型的经济意义,差分的阶数也不能太高,否则会浪费过多的信息。 传统时序数...原创 2019-06-27 16:23:22 · 2439 阅读 · 0 评论 -
神经网络BP算法
神经网络BP算法BP神经网络是一种多层的前馈神经网络,其主要的特点是:信号是前向传播的,而误差是反向传播的。BP神经网络的过程主要分为两个阶段,第一阶段是信号的前向传播,从输入层经过隐含层,最后到达输出层;第二阶段是误差的反向传播,从输出层到隐含层,最后到输入层,依次调节隐含层到输出层的权重和偏置,输入层到隐含层的权重和偏置。准备h(x)是要拟合的函数,J(theta)损失函数,the...原创 2019-06-28 11:42:52 · 5801 阅读 · 0 评论 -
卷积神经网络CNN
卷积神经网络CNN总体感知卷积神经网络沿用了普通的神经元网络即多层感知器的结构,是一个前馈网络。以应用于图像领域的CNN为例,大体结构如图1。这个典型的结构分为四个大层次:输入图像 I. 多个卷积(C)-下采样(S)层:将上一层的输出与本层权重W做卷积得到各个C层,然后下采样得到各个S层。每次将原图像卷积后,都通过一个下采样的过程,来减小图像的规模。这些层的输出称为F...原创 2019-06-28 11:44:40 · 872 阅读 · 0 评论 -
地图匹配(隐马尔科夫,维特比算法(本质是动态规划))
地图Map-Matching流行算法及应用http://www.semocean.com/lbs%E5%9C%B0%E5%9B%BEmap-matching%E6%B5%81%E8%A1%8C%E7%AE%97%E6%B3%95%E5%8F%8A%E5%BA%94%E7%94%A8/从隐式马尔科夫模型到地图匹配(上)https://mp.weixin.qq.com/s?__biz...原创 2019-07-10 09:51:00 · 8414 阅读 · 4 评论 -
线性规划
【学界】运筹学之线性规划https://zhuanlan.zhihu.com/p/33213218高中线性规划采用图解法,大学采用松弛变量法转为标准形式的线性方程组运筹学S01E02——单纯形法https://zhuanlan.zhihu.com/p/33247962线性规划之单纯形法【超详解+图解】单纯形是求解线性规划,在求解之前要把不等式约束加入松弛变量变成等式约束,转...原创 2019-07-10 15:18:46 · 500 阅读 · 0 评论 -
分类器评价指标 ROC,AUC,precision,recall,F-score,多分类评价指标
ROC(Receiver Operating Characteristic) 曲线和AUC(Area Under the Curve) 值常被用来评价一个二值分类器 (binary classifier) 的优劣 多分类问题评价指标:precision,recall,F-score 在分类任务中,人们总是喜欢基于错误率来衡量分类器任务的成功...原创 2018-12-28 16:32:06 · 5892 阅读 · 0 评论