机器学习
文章平均质量分 85
机器学习&深度学习
人鱼线
1、越努力,越幸运! 2、机会总是留给有准备的人! 3、承受别人不能承受的,才能得到别人不能得到的!
展开
-
机器学习之特征选择方法
《机器学习》将特征选择分为了三种方法:分别是过滤式(filter) 、包裹式(wrapper)和嵌入式(embedded)。下面依据sklearn中的特征选择文档来叙述特征选择的几个方法。过滤式(filter)这类方法先对数据机进行特征选择,然后再训练学习器,特征选择的过程与后续学习器无关。1.移除低方差的特征:通过计算样本在不同特征上取值的方差来对特征经过过滤。通过 sel = VarianceThreshold(threshold=(.8 * (1 - .8))) 设置一个阈值,2.原创 2020-05-12 09:49:16 · 797 阅读 · 0 评论 -
深度学习训练时网络不收敛的原因分析总结
很多同学会发现,为什么我训练网络的时候loss一直居高不下或者准确度时高时低,震荡趋势,一会到11,一会又0.1,不收敛。 又不知如何解决,博主总结了自己训练经验和看到的一些方法。首先你要保证训练的次数够多,不要以为一百两百次就会一直loss下降或者准确率一直提高,会有一点震荡的。只要总体收敛就行。若训练次数够多(一般上千次,上万次,或者几十个epoch)没收敛,则试试下面方法:1. 数据侧:数据归一化神经网络中对数据进行归一化是不可忽略的步骤,网络能不能正常工作,还得看你有没有做归一化,一般原创 2020-05-09 13:05:56 · 7760 阅读 · 0 评论 -
从FM推演各深度学习CTR预估模型(附代码)
Ref:链接FM 的tensorflow 实现class FM(Model): def __init__(self, input_dim=None, output_dim=1, factor_order=10, init_path=None, opt_algo='gd', learning_rate=1e-2, l2...原创 2020-04-27 14:50:07 · 281 阅读 · 0 评论 -
评估指标汇总
Ref:https://zhuanlan.zhihu.com/p/52930683原创 2020-04-24 10:00:25 · 1497 阅读 · 1 评论 -
fasttext 与 word2vec、doc2vec 的区别
相似:图模型结构很像,都是采用embedding向量的形式,得到word的隐向量表达。 都采用很多相似的优化方法,比如使用Hierarchical softmax优化训练和预测中的打分速度。不同点:1.word2vec是一个无监督算法,而fasttext是一个有监督算法。 2.模型的输入层:word2vec的输入层是上下文单词;而fasttext 对应的...原创 2020-04-21 08:09:13 · 5513 阅读 · 0 评论 -
离散型数据编码
对比LabelEncoder 和OneHot编码:LabelEncoder编码:from sklearn import preprocessingimport pandas as pddf = pd.DataFrame([ [-1 , 'A'], [2 , 'B'], [1 , 'A']])df.colu...原创 2019-11-28 19:03:52 · 748 阅读 · 0 评论 -
评估指标AUC、GAUC
AUC在机器学习算法中,很多情况我们都是把auc当成最常用的一个评价指标,而auc反映整体样本间的排序能力,但是有时候auc这个指标可能并不能完全说明问题,有可能auc并不能真正反映模型的好坏。AUC反映整体样本间的排序能力,表示正样本得分比负样本得分高的概率,对样本不区分用户地计算整体样本的AUC。线下AUC提升为什么不能带来线上效果提升? https://zhuanlan.zh...原创 2020-04-14 13:20:58 · 2064 阅读 · 0 评论 -
决策树模型
ID3、C4.5、CART分类树算法总结: 感觉背这些无意义。IID3:缺点:ID3 没有剪枝策略,容易过拟合; 信息增益准则对可取值数目较多的特征有所偏好,类似“编号”的特征其信息增益接近于 1; 只能用于处理离散分布的特征; 没有考虑缺失值。C4.5:采取的优化措施:采用后剪枝策略,防止过拟合 引入信息增益率作为划分标准; 将连续特征离散化, 对于缺失值的处理:将...原创 2020-04-14 13:22:09 · 397 阅读 · 0 评论 -
XGBoost 和 LightGBM 对比
Ref:20道XGBoost面试题https://mp.weixin.qq.com/s?__biz=MzI1MzY0MzE4Mg==&mid=2247485159&idx=1&sn=d429aac8370ca5127e1e786995d4e8ec&chksm=e9d01626dea79f30043ab80652c4a859760c1ebc0d602e58e134...原创 2020-04-14 13:21:29 · 1660 阅读 · 0 评论 -
排序模型对比
LR 可以视作单层单节点的“DNN”, 是一种宽而不深的结构,能够处理高纬度稀疏问题,。 模型优点是简单、高效、可控性好,模型可解释: 所有的特征直接作用在最后的输出结果上 但是效果的好坏直接取决于特征工程的程度,需要非常精细的连续型、离散型、时间型等特征处理及特征组合。通常通过正则化等方式控制过拟合。Ref:https://tech.meituan.com/201...原创 2020-03-26 14:29:58 · 732 阅读 · 0 评论 -
过拟合的处理方法
这里仅贴出相关链接,有空时再详细补充。怎么判断欠拟合和过拟合:Ref:学习曲线——判断欠拟合还是过拟合过拟合的处理方法:从样本方面考虑:纵向上增加样本数量 横向上进行特征选择/降维 横纵都有:归一化: (1)MinMaxScaler:对列数据做(x-min)/(max-min) 变换 (2)MaxAbsScaler:对列数据做2(x-min)/(max-min...原创 2020-03-06 23:57:21 · 595 阅读 · 0 评论 -
推荐系统算法框架
在介绍矩阵分解之前,先让我们明确下推荐系统的场景以及矩阵分解的原理。对于推荐系统来说存在两大场景即评分预测(rating prediction)与Top-N推荐(item recommendation,item ranking)。评分预测场景主要用于评价网站,比如用户给自己看过的电影评多少分(MovieLens),或者用户给自己看过的书籍评价多少分。其中矩阵分解技术主要应用于该场景。 Top...原创 2020-03-05 09:24:15 · 1596 阅读 · 0 评论 -
LFM MF SVD SVD++ FM 之间的关系
Ref:https://zhuanlan.zhihu.com/p/98058812 在原文的基础上进行补充基于行为的推荐系统算法我们称之为协同过滤,包括基于邻域、基于模型(隐语义模型LFM)和基于图的随机游走。这次我们详细说说LFM模型。我们的目标是对一个user-item的评分矩阵进行一个补充,得到未知的分数,进而进行推荐。user和item是没有直接关系的,无法直接得到二者的...原创 2020-03-04 15:52:32 · 2489 阅读 · 0 评论 -
准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F值(F-Measure)、AUC、ROC的理解
一、准确率、精确率、召回率和 F 值(1)若一个实例是正类,但是被预测成为正类,即为真正类(True Postive TP)(2)若一个实例是负类,但是被预测成为负类,即为真负类(True Negative TN)(3)若一个实例是负类,但是被预测成为正类,即为假正类(False Postive FP)(4)若一个实例是正类,但是被预测成为负类,即为假负类(False Negat...原创 2020-03-03 00:06:16 · 35092 阅读 · 0 评论 -
GBDT、XGBoost、LightGBM汇
Ref:深入理解XGBoost本文是在原文基础上进行修补。XGBoost原理推倒:(1)目标函数:(2)第一项泰勒展开:(3)第二项-定义树的复杂度:(4)最终的目标函数:(5)一棵树的生成细节:(5.1)首先列采样,随机选出K列特征作为划分特征;(5.2)然后这K列进行并行运算,针对每列特征将数据生序排列,保存为block结构...原创 2020-04-14 13:23:41 · 2884 阅读 · 0 评论 -
最小二乘与最大似然估计之间的关系
在测量误差服从高斯分布的情况下, 最小二乘法等价于极大似然估计。Ref:最小二乘法与极大似然估计的区别与联系、最小二乘与最大似然估计之间的关系...原创 2020-02-22 10:26:35 · 1156 阅读 · 0 评论 -
DeepFM模型理论和实践
1、背景特征组合的挑战对于一个基于CTR预估的推荐系统,最重要的是学习到用户点击行为背后隐含的特征组合。在不同的推荐场景中,低阶组合特征或者高阶组合特征可能都会对最终的CTR产生影响。之前介绍的因子分解机(Factorization Machines, FM)通过对于每一维特征的隐变量内积来提取特征组合。最终的结果也非常好。但是,虽然理论上来讲FM可以对高阶特征组合进行建模,但实际...转载 2020-01-19 10:53:18 · 1750 阅读 · 0 评论 -
矩阵分解之:主成分分析(PCA)
本文是在参考主成分分析(PCA)原理详解的基础上 添加一些自己的理解。1.相关背景在许多领域的研究与应用中,通常需要对含有多个变量的数据进行观测,收集大量数据后进行分析寻找规律。多变量大数据集无疑会为研究和应用提供丰富的信息,但是也在一定程度上增加了数据采集的工作量。更重要的是在很多情形下,许多变量之间可能存在相关性,从而增加了问题分析的复杂性。如果分别对每个指标进行分析,分析往往是孤立...转载 2020-01-16 20:58:21 · 18731 阅读 · 0 评论 -
矩阵分解之: 特征值分解(EVD)、奇异值分解(SVD)、SVD++
目录:1.矩阵分解 1.1 矩阵分解的产生原因 1.2矩阵分解作用 1.3矩阵分解的方法 1.4推荐学习的经典矩阵分解算法2. 特征值分解(EVD)3. 奇异值分解(SVD)4.SVD++5.SVD/SVD++在协同过滤中的应用1. 矩阵分解1.1 矩阵分解的产生原因在介绍矩阵分解之前,先让我们明确下推荐系...原创 2020-01-15 22:17:38 · 30066 阅读 · 4 评论 -
技术概述深度学习:详解前馈、卷积和循环神经网络
Ref:https://www.jiqizhixin.com/articles/2017-09-07-9本论文技术性地介绍了三种最常见的神经网络:前馈神经网络、卷积神经网络和循环神经网络。且该文详细介绍了每一种网络的基本构建块,其包括了基本架构、传播方式、连接方式、激活函数、反向传播的应用和各种优化算法的原理。本文不仅介绍了这三种神经网络的基本原理与概念,同时还用数学表达式正式地定义了这些概念...转载 2019-12-22 20:26:46 · 818 阅读 · 0 评论 -
DeepFM升级版XDeepFM模型
本文参考自 推荐系统遇上深度学习(二十二)--DeepFM升级版XDeepFM模型强势来袭!,在学习原文的基础上加入一些个人的理解和整理。1、引言对于预测性的系统来说,特征工程起到了至关重要的作用。特征工程中,挖掘交叉特征是至关重要的。交叉特征指的是两个或多个原始特征之间的交叉组合。例如,在新闻推荐场景中,一个三阶交叉特征为AND(user_organization=msra,item_c...转载 2020-01-15 09:39:56 · 926 阅读 · 1 评论 -
推荐系统CTR实战——Wide & Deep
Ref:https://fuhailin.github.io/Wide-Deep/Wide and deep 模型是 TensorFlow 在 2016 年 6 月左右发布的一类用于分类和回归的模型,并应用到了 Google Play 的应用推荐中。wide and deep 模型的核心思想是结合线性模型的记忆能力(memorization)和 DNN 模型的泛化能力(generalizati...转载 2020-01-13 14:54:08 · 1122 阅读 · 0 评论 -
AdaBoost scikit-learn 算法类库 参数说明
Ref:scikit-learn Adaboost类库使用小结https://www.cnblogs.com/pinard/p/6136914.html原创 2020-01-09 22:46:47 · 136 阅读 · 0 评论 -
随机森林模型RandomForest scikit-learn参数说明
先看这个类的参数:class sklearn.ensemble.RandomForestClassifier(n_estimators=10, criterion='gini', max_depth=None, min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features=’auto...原创 2020-01-09 19:10:19 · 8303 阅读 · 1 评论 -
机器学习调参方法
① 网格搜索交叉验证:通常是在全量数据上做的,会自动切分成几折(有时候会注意做分层抽样去保证数据分布)。参考的kaggle kernel代码:https://www.kaggle.com/cesartrevisan/scikit-learn-and-gridsearchcv② early stopping:这个通常需要切分训练集和验证集,我们会根据验证集去确定最佳的轮次,但是除掉迭代...原创 2020-01-02 08:43:09 · 818 阅读 · 0 评论 -
sklearn中xgboost模块的XGBClassifier函数
# 常规参数booster gbtree 树模型做为基分类器(默认) gbliner 线性模型做为基分类器 silent silent=0时,不输出中间过程(默认) silent=1时,输出中间过程 nthread nthread=-1时,使用全部CPU进行并行运算(默认) nthread=1时,使用1个CPU进行运算。 nthread=-1 默认采用所有c...原创 2020-01-02 08:38:30 · 3727 阅读 · 0 评论 -
如何轻松愉快地理解条件随机场(CRF)?
背景理解条件随机场最好的办法就是用一个现实的例子来说明它。但是目前中文的条件随机场文章鲜有这样干的,可能写文章的人都是大牛,不屑于举例子吧。于是乎,我翻译了这篇文章。希望对其他伙伴有所帮助。原文在这里[http://blog.echen.me/2012/01/03/introduction-to-conditional-random-fields/]想直接看英文的朋友可以直接点进去了。我...转载 2019-12-23 10:14:19 · 174 阅读 · 0 评论 -
通俗理解word2vec
参考https://www.jianshu.com/p/471d9bfbd72f假设词表中共有4万个词汇,现在知道第t个词前面的n-1个词,预估第t个词:首先将n-1 依据词表进行onehot编码得到n-1个 $1*4万$的稀疏向量(只有一个位置为1,其余为0), 然后为每一个词 随机初始化一个(1*K)维的词向量C,这n-1个词向量经过拼接/求和等操作得到一个1*K维的向量,然后再经过...原创 2019-12-07 10:25:07 · 163 阅读 · 0 评论 -
python实现:欧氏距离/余弦相似度/皮尔逊相似度
一. 欧氏距离距离越小,相似度越高def EuclideanDistances(A, B): BT = B.transpose() vecProd = np.dot(A,BT) SqA = A**2 sumSqA = np.matrix(np.sum(SqA, axis=1)) sumSqAEx = np.tile(sumSqA.transpos...原创 2019-12-02 20:36:20 · 6765 阅读 · 1 评论 -
样本数据的真实值为什么需要做中心化处理
假设下面的七个点是原始数据,不做中心化需要用 一维的线性回归:y=kx+b 拟合得到红线,红线更容易被一些离群点影响,而产生偏差,而绿线更稳定一些,因为绿线是通过固定点的直线 中心化之后,假设改为,y=kx ,只优化k就可以得到绿线。 当数据量很大时,这两条线会趋于平行,也就等价了,但是在小数据量的时候还是做中心化的效果更好一点。基于以上几点对样本数据做中心化效果会更好,那去中心化 到底...原创 2019-11-18 08:40:29 · 4626 阅读 · 0 评论 -
LDA模型介绍
主题模型主题模型就是利用大量已知的P(w|d)信息,训练出P(c|d) 和P(w|c)。LDA模型LDA(Latent Dirichlet Allocation)是一种文档主题生成模型,也称为一个三层贝叶斯概率模型,包含词、主题 和文档三层结构。所谓生成模型,就是说,我们认为一篇文章的每个词都是通过“文章以一定概率选择了某个主题,并从这个主题中以一定概率选择某个词语”...原创 2019-11-13 15:48:24 · 24201 阅读 · 2 评论 -
概率图模型简介
概率图模型分为贝叶斯网络和马尔可夫网络两大类。贝叶斯网络可以用一个有向图结构表示,马尔可夫网络可以表示成一个无向图的网络结构。概率图模型包括了朴素贝叶斯模型、最大熵模型、隐马尔可夫模型、条件随机场、主题模型。一、朴素贝叶斯算法 (简单)根据应用场景不同可以分为3个分类算法:GaussianNB,MultinomialNB和BernoulliNB。Gau...原创 2019-11-07 16:02:36 · 549 阅读 · 0 评论 -
GBDT常用损失函数
分类算法的损失函数:指数损失函数 对数损失函数: 二元分类的对数函数 多元分类的对数函数回归算法的损失函数:均方损失函数 绝对值损失函数 Huber损失函数 分位数损失函数还需要好好整理一下,常用算法的 损失函数做到随时都能写出来参考:https://www.cnblo...原创 2019-11-03 18:03:26 · 10499 阅读 · 2 评论 -
关于条件概率公式,乘法公式,全概率公式,贝叶斯概率公式
参考:https://blog.csdn.net/qq_31073871/article/details/81077386以下这四个公式的研究对象,都是“同一实验下的不同的结果集合”1. 条件概率公式: P(A|B)=P(AB)/P(B)2.乘法公式: P(AB)=P(A|B)P(...原创 2019-10-28 10:25:47 · 1532 阅读 · 0 评论 -
sklearn.svm.SVC 参数说明
sklearn中的SVC函数本身这个函数也是基于libsvm实现的,所以在参数设置上有很多相似的地方。(PS: libsvm中的二次规划问题的解决算法是SMO)。sklearn.svm.SVC(C=1.0,kernel='rbf',degree=3,gamma='auto',coef0=0.0,shrinking=True,probability=False,tol=0.001...原创 2019-10-15 11:41:58 · 2617 阅读 · 0 评论 -
回归算法之Ridge,Lasso,Elastic Net回归算法
维数灾难何谓高维数据?高维数据指数据的维度很高,甚至远大于样本量的个数。高维数据的明显的表现是:在空间中数据是非常稀疏的,与空间的维数相比样本量总是显得非常少。 在分析高维数据过程中碰到最大的问题就是维数的膨胀,也就是通常所说的“维数灾难”问题。研究表明,随着维数的增长,分析所需的空间样本数会呈指数增长。数据降维 对于高维数据,维数灾难所带来的过拟合问题,其解决思...原创 2019-08-24 14:27:15 · 4340 阅读 · 1 评论 -
最优化方法总结
最优化方法总结原创 2019-08-24 21:10:28 · 454 阅读 · 1 评论 -
线性回归总结
线性回归总结线性学习中最基础的回归之一,本文从线性回归的数学假设,公式推导,模型算法以及实际代码运行几方面对这一回归进行全面的剖析~一:线性回归的数学假设1.假设输入的X和Y是线性关系,预测的y与X通过线性方程建立机器学习模型2.输入的Y和X之间满足方程Y=X+, 是误差项, 且1,2,m之间独立同分布,且均值=0,方差为某一定值,根据中心极限定理推出服从高斯分...原创 2019-08-25 17:50:23 · 2221 阅读 · 1 评论 -
Logistic回归和Softmax回归 对比
Logistic回归和Softmax回归 都是基于sigmoid函数:Logistic回归主要应用于二分类问题,回归问题的表达式: , 将得到的y值经过sigmoid函数转化为二分类问题.表示y=1的概率,其中单个样本的概率分布:m个样本的概率分布 --> 似然函数:对数似然函数:损失函数:Softm...原创 2019-08-25 21:09:04 · 1309 阅读 · 0 评论 -
SVM算法
一. 拉格朗日乘子法 和 KKT条件最优化问题分类:拉格朗日乘子法:拉格朗日乘子法的分析推导:https://blog.csdn.net/hao5335156/article/details/82320082如何理解拉格朗日乘子法:https://www.matongxue.com/madocs/939/KKT条件: (后期还得好好整理)初始问题:...原创 2019-08-26 18:49:51 · 267 阅读 · 0 评论