机器学习,数据挖掘算法
文章平均质量分 83
介绍相关的机器学习算法,通过MATLAB等变成工具实现算法的基本原理,加深对算法本身的理解,通过浅显易懂的方式着重介绍算法以及相关的机器学习、数据挖掘技术。
zhiyong_will
这个作者很懒,什么都没留下…
展开
-
社团划分——Fast Unfolding算法
社团划分——Fast Unfolding算法一、社区划分问题1、社区以及社区划分在社交网络中,用户相当于每一个点,用户之间通过互相的关注关系构成了整个网络的结构,在这样的网络中,有的用户之间的连接较为紧密,有的用户之间的连接关系较为稀疏,在这样的的网络中,连接较为紧密的部分可以被看成一个社区,其内部的节点之间有较为紧密的连接,而在两个社区间则相对连接较为稀疏,这便称为社团结构。 (Newman原创 2015-09-22 20:03:54 · 55330 阅读 · 72 评论 -
社团划分——有向图的Label Propagation算法
在博文社区划分——Label Propagation中,介绍了Label Propagation社区划分算法的基本原理,基本的Label Propagation算法是针对无向图的社区划分算法。一、基本Label Propagation算法原理对于网络中的每一个节点,在初始阶段,Label Propagation算法对每一个节点一个唯一的标签,在每一个迭代的过程中,每一个节点根据与其相连的节点所属的标原创 2016-06-02 17:38:54 · 13749 阅读 · 5 评论 -
机器学习中的基本问题——log损失与交叉熵的等价性
1、log损失log损失的基本形式为:log(1+exp(−m))log(1+exp(−m))log\left ( 1+exp\left ( -m \right ) \right )其中,m=y⋅y^m=y⋅y^m=y\cdot \hat{y},y∈{−1,1}y∈{−1,1}y\in\left \{ -1,1 \right \}。 对上述的公式改写: ⇒1m∑i=1...原创 2018-03-09 20:20:43 · 15750 阅读 · 3 评论 -
计算广告——平滑CTR
一、广告计算的基本概念原创 2016-01-11 18:19:15 · 16659 阅读 · 2 评论 -
机器学习算法实现解析——libFM之libFM的训练过程之Adaptive Regularization
本节主要介绍的是libFM源码分析的第五部分之二——libFM的训练过程之Adaptive Regularization的方法。5.3、Adaptive Regularization的训练方法5.3.1、SGD的优劣在“机器学习算法实现解析——libFM之libFM的训练过程之SGD的方法”中已经介绍了基于SGD的FM模型的训练方法,SGD的方法的最大优点是其训练过程很简单,只需在计算的过程中求解损原创 2017-06-16 20:00:21 · 3636 阅读 · 1 评论 -
可扩展机器学习——梯度下降(Gradient Descent)
注:这是一份学习笔记,记录的是参考文献中的可扩展机器学习的一些内容,英文的PPT可见参考文献的链接。这个只是自己的学习笔记,对原来教程中的内容进行了梳理,有些图也是引用的原来的教程,若内容上有任何错误,希望与我联系,若内容有侵权,同样也希望告知,我会尽快删除。这部分本应该加上实验的部分,实验的部分在后期有时间再补上。可扩展机器学习系列主要包括以下几个部分:概述 - Spark分布式处理 - 线性原创 2015-12-12 17:58:03 · 5920 阅读 · 0 评论 -
可扩展机器学习——概述
注:这是一份学习笔记,记录的是参考文献中的可扩展机器学习的一些内容,英文的PPT可见参考文献的链接。这个只是自己的学习笔记,对原来教程中的内容进行了梳理,有些图也是引用的原来的教程,若内容上有任何错误,希望与我联系,若内容有侵权,同样也希望告知,我会尽快删除。可扩展机器学习系列主要包括以下几个部分:概述Spark分布式处理线性回归(linear Regression)梯度下降(Gradien原创 2015-12-01 12:15:21 · 3386 阅读 · 0 评论 -
图解机器学习总结——2、回归
1原创 2016-04-25 10:21:16 · 7831 阅读 · 4 评论 -
机器学习算法实现解析——libFM之libFM的训练过程之SGD的方法
本节主要介绍的是libFM源码分析的第五部分之一——libFM的训练过程之SGD的方法。5.1、基于梯度的模型训练方法在libFM中,提供了两大类的模型训练方法,一类是基于梯度的训练方法,另一类是基于MCMC的模型训练方法。对于基于梯度的训练方法,其类为fm_learn_sgd类,其父类为fm_learn类,主要关系为: fm_learn_sgd类是所有基于梯度的训练方法的父类,其具体的代码如原创 2017-06-15 18:56:28 · 6889 阅读 · 3 评论 -
机器学习算法实现解析——libFM之libFM的训练过程概述
本节主要介绍的是libFM源码分析的第四部分——libFM的训练。FM模型的训练是FM模型的核心的部分。4.1、libFM中训练过程的实现在FM模型的训练过程中,libFM源码中共提供了四种训练的方法,分别为:Stochastic Gradient Descent(SGD),Adaptive SGD(ASGD),Alternating Least Squares(ALS)和Markov Chain原创 2020-08-07 00:25:09 · 6947 阅读 · 0 评论 -
可扩展机器学习——分类——点击率预测(Click-through Rate Prediction)
注:这是一份学习笔记,记录的是参考文献中的可扩展机器学习的一些内容,英文的PPT可见参考文献的链接。这个只是自己的学习笔记,对原来教程中的内容进行了梳理,有些图也是引用的原来的教程,若内容上有任何错误,希望与我联系,若内容有侵权,同样也希望告知,我会尽快删除。这部分本应该加上实验的部分,实验的部分在后期有时间再补上。可扩展机器学习系列主要包括以下几个部分:概述 - Spark分布式处理 - 线性原创 2015-12-14 19:11:06 · 10231 阅读 · 3 评论 -
机器学习模型中的损失函数loss function
import matplotlib.pyplot as pltimport numpy as npxmin, xmax = -4, 4xx = np.linspace(xmin, xmax, 100)plt.plot([xmin, 0, 0, xmax], [1, 1, 0, 0], 'k-', label="Zero-one loss")plt.plot(xx, np.where(x原创 2016-03-31 15:54:55 · 52171 阅读 · 2 评论 -
简单易学的机器学习算法——Label Propagation
Label Propagation算法是一种基于标签传播的局部社区划分算法。对于网络中的每一个节点,在初始阶段,Label Propagation算法对每一个节点一个唯一的标签,在每一个迭代的过程中,每一个节点根据与其相连的节点所属的标签改变自己的标签,更改的原则是选择与其相连的节点中所属标签最多的社区标签为自己的社区标签,这便是标签传播的含义。随着社区标签的不断传播,最终紧密连接的节点将有共同的标签。原创 2015-12-05 16:11:02 · 19769 阅读 · 15 评论 -
可扩展机器学习——线性回归(linear Regression)
注:这是一份学习笔记,记录的是参考文献中的可扩展机器学习的一些内容,英文的PPT可见参考文献的链接。这个只是自己的学习笔记,对原来教程中的内容进行了梳理,有些图也是引用的原来的教程,若内容上有任何错误,希望与我联系,若内容有侵权,同样也希望告知,我会尽快删除。这部分本应该加上实验的部分,实验的部分在后期有时间再补上。可扩展机器学习系列主要包括以下几个部分:概述 - Spark分布式处理 - 线性原创 2015-12-12 17:48:44 · 5584 阅读 · 1 评论 -
机器学习算法实现解析——libFM之libFM的模型处理部分
本节主要介绍的是libFM源码分析的第三部分——libFM的模型处理。3.1、libFM中FM模型的定义libFM模型的定义过程中主要包括模型中参数的设置及其初始化,利用模型对样本进行预测。在libFM中,首先定义FM模型,在fm_model类中实现对FM模型的定义,fm_model类在“\libfm-1.42.src\src\fm_core\fm_model.h”中。在定义fm_model类之前,原创 2017-06-13 19:27:15 · 6717 阅读 · 4 评论 -
推荐算法——非负矩阵分解(NMF)
一、矩阵分解回顾在博文推荐算法——基于矩阵分解的推荐算法中,提到了将用户-商品矩阵进行分解,从而实现对未打分项进行打分。矩阵分解是指将一个矩阵分解成两个或者多个矩阵的乘积。对于上述的用户-商品矩阵(评分矩阵),记为Vm×nV_{m\times n},可以将其分解成两个或者多个矩阵的乘积,假设分解成两个矩阵Wm×kW_{m\times k}和Hk×nH_{k\times n},我们要使得矩阵Wm×kW原创 2016-04-19 19:21:30 · 32864 阅读 · 7 评论 -
机器学习中的常见问题——K-Means算法与矩阵分解的等价
一、K-Means算法的基本原理K-Means算法是较为经典的聚类算法,假设训练数据集XXX为:{x1,x2,⋯,xn}{x1,x2,⋯,xn}\left \{ \mathbf{x}_1,\mathbf{x}_2,\cdots , \mathbf{x}_n \right \},其中,每一个样本xjxj \mathbf{x}_j为mmm维的向量。此时的样本为一个m×nm×nm\times n的矩...原创 2016-04-13 16:41:05 · 6888 阅读 · 0 评论 -
图解机器学习总结——1、基本概念
序言:近期主要帮同事讲解《图解机器学习》,刚拿到这本书觉得内容相比较平常使用的机器学习算法,很多地方讲解得比较奇怪,所以很认真的读了一下,读了书就想把知识点整理出来,加上一些自己对各种算法的认识,因此这个系列里面有一些个人的理解,若有不对的地方,还请不吝指出,谢谢。本系列主要包括:1、基本概念(对应书上第一章和第二章)2、最小二乘学习法3、带有约束条件的最小二乘法4、稀疏学习5、原创 2016-04-09 21:51:28 · 5970 阅读 · 0 评论 -
可扩展机器学习——Spark分布式处理
注:这是一份学习笔记,记录的是参考文献中的可扩展机器学习的一些内容,英文的PPT可见参考文献的链接。这个只是自己的学习笔记,对原来教程中的内容进行了梳理,有些图也是引用的原来的教程,若内容上有任何错误,希望与我联系,若内容有侵权,同样也希望告知,我会尽快删除。可扩展机器学习系列主要包括以下几个部分:概述Spark分布式处理线性回归(linear Regression)梯度下降(Gradien原创 2015-12-01 13:12:59 · 4192 阅读 · 1 评论 -
机器学习算法实现解析——word2vec源码解析
在阅读本文之前,建议首先阅读“简单易学的机器学习算法——word2vec的算法原理”,掌握如下的几个概念:什么是统计语言模型神经概率语言模型的网络结构CBOW模型和Skip-gram模型的网络结构Hierarchical Softmax和Negative Sampling的训练方法Hierarchical Softmax与Huffman树的关系有了如上的一些概念,接下来就可以去读word...原创 2017-03-16 16:32:44 · 33457 阅读 · 8 评论 -
简单易学的机器学习算法——梯度提升决策树GBDT
梯度提升决策树(Gradient Boosting Decision Tree,GBDT)算法是近年来被提及比较多的一个算法,这主要得益于其算法的性能,以及该算法在各类数据挖掘以及机器学习比赛中的卓越表现,有很多人对GBDT算法进行了开源代码的开发,比较火的是陈天奇的XGBoost和微软的LightGBM。一、监督学习1、监督学习的主要任务监督学习是机器学习算法中重要的一种,对于监督学习,假设有mm...原创 2017-02-10 16:55:26 · 108924 阅读 · 14 评论 -
简单易学的机器学习算法——K-Means++算法
K-Means++原创 2016-12-06 13:39:16 · 36485 阅读 · 14 评论 -
机器学习算法实践——K-Means算法与图像分割
一、理论准备1.1、图像分割图像分割是图像处理中的一种方法,图像分割是指将一幅图像分解成若干互不相交区域的集合,其实质可以看成是一种像素的聚类过程。通常使用到的图像分割的方法可以分为:基于边缘的技术基于区域的技术基于聚类算法的图像分割属于基于区域的技术。1.2、K-Means算法K-Means算法是基于距离相似性的聚类算法,通过比较样本之间的相似性,将形式的样本划分到同一个类别中,K-Mean原创 2016-10-28 10:39:58 · 46867 阅读 · 28 评论 -
简单易学的机器学习算法——Latent Dirichlet Allocation(理论篇)
引言LDA(Latent Dirichlet Allocation)称为潜在狄利克雷分布,是文本语义分析中比较重要的一个模型,同时,LDA模型中使用到了贝叶斯思维的一些知识,这些知识是统计机器学习的基础,这些知识点包括Gamma函数和分布,Beta函数和分布,Dirichlet函数和分布,贝叶斯定理,Gibbs采样等等。在接下来的文章,我们通过以下几个方面具体介绍LDA的核心思想:基础知原创 2016-01-25 16:03:55 · 22513 阅读 · 3 评论 -
简单易学的机器学习算法——Gibbs采样
一、Gibbs采样概述前面介绍的Metropolis-Hastings采样为从指定分布中进行采样提供了一个统一的框架,但是采样的效率依赖于指定的分布的选择,若是选择的不好,会使得接受率比较低,大量的采样被拒绝,影响到整体的收敛速度。Gibbs采样是Metropolis-Hastings采样算法的特殊形式,即找到一个已知的分布,使得接受率α=1\alpha =1。这样,每次的采样都会被接受,可以提高M原创 2016-07-04 11:29:55 · 28824 阅读 · 6 评论 -
简单易学的机器学习算法——Metropolis-Hastings算法
在简单易学的机器学习算法——马尔可夫链蒙特卡罗方法MCMC中简单介绍了马尔可夫链蒙特卡罗MCMC方法的基本原理,介绍了Metropolis采样算法的基本过程,这一部分,主要介绍Metropolis-Hastings采样算法,Metropolis-Hastings采样算法也是基于MCMC的采样算法,是Metropolis采样算法的推广形式。一、Metropolis-Hastings算法的基本原理1、M原创 2016-07-03 17:23:57 · 48295 阅读 · 8 评论 -
简单易学的机器学习算法——马尔可夫链蒙特卡罗方法MCMC
对于一般的分布的采样,在很多的编程语言中都有实现,如最基本的满足均匀分布的随机数,但是对于复杂的分布,要想对其采样,却没有实现好的函数,在这里,可以使用马尔可夫链蒙特卡罗(Markov Chain Monte Carlo, MCMC)方法,其中Metropolis-Hastings采样和Gibbs采样是MCMC中使用较为广泛的两种形式。MCMC的基础理论为马尔可夫过程,在MCMC算法中,为了在一个指原创 2016-06-29 18:49:41 · 77210 阅读 · 6 评论 -
简单易学的机器学习算法——Mean Shift聚类算法
参考文献Mean Shift ClusteringMeanshift,聚类算法原创 2016-05-12 18:02:28 · 97358 阅读 · 30 评论 -
简单易学的机器学习算法——AdaBoost
一、集成方法(Ensemble Method)原创 2015-06-16 22:04:56 · 36698 阅读 · 5 评论 -
简单易学的机器学习算法——集成方法(Ensemble Method)
一、集成学习方法的思想 前面介绍了一系列的算法,每个算法有不同的适用范围,例如有处理线性可分问题的,有处理线性不可分问题。在现实世界的生活中,常常会因为“集体智慧”使得问题被很容易解决,那么问题来了,在机器学习问题中,对于一个复杂的任务来说,能否将很多的机器学习算法组合在一起,这样计算出来的结果会不会比使用单一的算法性能更好?这样的思路就是集成学习方法。 集成学习方法是指组合多原创 2015-06-16 11:01:34 · 45882 阅读 · 4 评论 -
简单易学的机器学习算法——EM算法
一、EM算法简介EM算法是期望极大(Expectation Maximization)算法的简称,是一种解决存在隐含变量优化问题的有效方法。原创 2015-06-12 14:30:48 · 31988 阅读 · 5 评论 -
简单易学的机器学习算法——谱聚类(Spectal Clustering)
一、复杂网络中的一些基本概念1、复杂网络的表示 在复杂网络的表示中,复杂网络可以建模成一个图,其中,表示网络中的节点的集合,表示的是连接的集合。在复杂网络中,复杂网络可以是无向图、有向图、加权图或者超图。2、网络簇结构 网络簇结构(network cluster structure)也称为网络社团结构(network community structure),是复杂原创 2015-05-15 12:45:02 · 26650 阅读 · 11 评论 -
简单易学的机器学习算法——因子分解机(Factorization Machine)
一、因子分解机FM的模型 因子分解机(Factorization Machine, FM)是由Steffen Rendle提出的一种基于矩阵分解的机器学习算法。1、因子分解机FM的优势 对于因子分解机FM来说,最大的特点是对于稀疏的数据具有很好的学习能力。现实中稀疏的数据很多,例如作者所举的推荐系统的例子便是一个很直观的具有稀疏特点的例子。2、因子分解机FM的模型原创 2015-05-06 13:27:07 · 61308 阅读 · 29 评论 -
简单易学的机器学习算法——在线顺序极限学习机OS-ELM
这篇文章主要是前面整理的,就直接上图了。实验:# coding:UTF-8################## OS_ELM# author : zhiyong_will# date : 2015.3.22#################from __future__ import divisionfrom datet原创 2015-04-25 20:03:06 · 26680 阅读 · 20 评论 -
简单易学的机器学习算法——Softmax Regression
一、Softmax Regression简介 Softmax Regression是Logistic回归的推广,Logistic回归是处理二分类问题的,而Softmax Regression是处理多分类问题的。Logistic回归是处理二分类问题的比较好的算法,具有很多的应用场合,如广告计算等。Logistic回归利用的是后验概率最大化的方式去计算权重。二、Logisti原创 2014-11-29 15:19:09 · 37859 阅读 · 10 评论 -
简单易学的机器学习算法——Apriori算法
一、关联分析原创 2014-11-24 19:49:03 · 5466 阅读 · 18 评论 -
简单易学的机器学习算法——lasso
一、lasso原创 2014-11-23 19:00:41 · 18566 阅读 · 3 评论 -
机器学习算法系列——博客中相关机器学习算法的目录
前言 这部分不是要介绍哪个具体的机器学习算法,前面做了一些机器学习的算法,本人在学习的过程中也去看别人写的材料,但是很多作者写的太难懂,或者就是放了太多的公式,所以我就想我来写点这方面的材料可以给大家参照,当然,由于本人才疏学浅,在写博客或者在写程序的过程中有什么不合理或者说错误的地方,还劳烦各位多多指出,因为有你们的支持才能体现出我做这些工作的价值。 由于博客会越来越多,在这原创 2014-10-04 21:05:52 · 7557 阅读 · 4 评论 -
简单易学的机器学习算法——Rosenblatt感知机的对偶解法
一、Rosenblatt感知机回顾原创 2014-07-16 09:36:19 · 7040 阅读 · 0 评论 -
简单易学的机器学习算法——基于密度的聚类算法DBSCAN
一、基于密度的聚类算法的概述二、原创 2014-07-10 15:43:56 · 59093 阅读 · 44 评论