机器学习
wangxinRS
目前在研究所做图像算法~
展开
-
《推荐系统笔记(八)》GBDT和XgBoost的原理(内含详细数学推导)
前言GBDT和Xgboost都是常用的树模型,也是常见的boosting方法的代表。尤其是Xgboost,更是被誉为kaggle神器。本篇博客将从加法模型角度,对GBDT和XgBoost的数学原理进行推导。二者都是加法模型,非常相似,同时又因为用泰勒展开拟合残差的阶数,进而有所区别。加法模型给定数据集T={(x1,y1),(x2,y2),...,(xN,yN)}T=\{(x_1, y_1), (x_2, y_2), ..., (x_N, y_N)\}T={(x1,y1),(x2,y2),..原创 2020-07-30 23:40:38 · 551 阅读 · 0 评论 -
《推荐系统笔记(三)》Adaboost算法 —— 弱分类器组合成强分类器的方法
前言我们将介绍将弱分类器组合成强分类器的算法,Adaboost算法,以及该算法有效的证明。对于这种提升方法,我们有每次迭代加大误分类点的权重,这样下次生成的弱分类器能够更可能将该误分类点分类正确每次迭代生成弱分类器的权重,对于误分类率低的弱分类器,我们在最终结果中给予更高的权重1. 算法输入:数据集 T={(x1,y1),(x2,y2),...,(xN,yN)}T=\{(x_1, y_1), (x_2, y_2), ..., (x_N, y_N)\}T={(x1,y1),(x2,y2原创 2020-06-25 19:12:59 · 2285 阅读 · 0 评论 -
《推荐系统学习(二)》PCA降维方法的数学推导
前言PCA降维方法将一组数据看成是一个随机变量生成的,通过将这个随机变量投影到待找的基向量上,这个投影后得到的一维随机向量方差最大。这个待找的基向量方向上,能够将投影后的数据最大程度区分开来。推导输入:数据集 T={x1,x2,...,xN}T=\{x_1, x_2, ..., x_N\}T={x1,x2,...,xN},xi∈Rnx_i\in\mathbb{R}^nxi∈Rn;目标维数 kkk输出:降维后的数据集 T={x1,x2,...,xN}T=\{x_1, x_2, ..., x_原创 2020-06-25 11:39:26 · 283 阅读 · 0 评论 -
《推荐系统笔记(一)》线性回归方法的数学推导
前言在线性回归方法的推导中,实际上有两种角度,一种是从概率,即似然函数最大角度得出;另一种则是从损失函数最小出发,同样可以得到结果。我们将线性回归问题阐述如下:输入:数据集 T={(x1,y1),(x2,y2),...,(xN,yN)}T=\{(x_1, y_1), (x_2, y_2), ..., (x_N, y_N)\}T={(x1,y1),(x2,y2),...,(xN,yN)}输出:w,bw, bw,b;线性回归模型 y=w⋅x+by=w\cdot x+by=w⋅x+b我们原创 2020-06-24 23:02:03 · 336 阅读 · 0 评论 -
《统计学习方法》—— 聚类方法(层次聚类和K均值聚类)
转载:https://www.cnblogs.com/nku-wangfeng/p/7642745.html 所谓聚类,就是将相似的事物聚集在一 起,而将不相似的事物划分到不同的类别的过程,是数据分析之中十分重要的一种手段。比如古典生物学之中,人们通过物种的形貌特征将其分门别类,可以说就是 一种朴素的人工聚类。如此,我们就可以将世界上纷繁复杂的信息,简化为少数方便人们理解的类别,可以说是人类认知这个世界的最基本方式之一。 在数据分析的术语之中,聚类和分类是两种技术。分类是指我们已经...转载 2020-06-21 09:27:35 · 2545 阅读 · 0 评论 -
《统计学习方法》—— SVM(线性可分支持向量机、线性支持向量机、非线性支持向量机)的详细推导
前言支持向量机是定义在特征空间上使得间隔最大的线性分类器。它可以形式化为凸二次规划问题。对于这样的凸二次规划问题,我们往往使用拉格朗日方法转为为它的对偶问题。对于这样的对偶问题,我们可以使用SMO最小序列算法进行求解。我们将介绍三种支持向量机。当数据线性可分时,我们采用线性可分支持向量机;当数据近似线性可分,或者说去除掉数据中的某些点后剩余数据是线性可分的,则可以采用线性支持向量机;当数据线性不可分,则应该采用非线性支持向量机。在进入具体的模型之前,我们先来看一个问题。给定一个超曲面 w⋅x+b=0原创 2020-06-20 19:20:21 · 846 阅读 · 0 评论 -
《统计学习方法》—— 逻辑斯谛回归 与 最大熵模型 的介绍以及详细推导
前言在《统计学习方法》第二版的第6章,作者将逻辑斯谛回归与最大熵这两个模型放在一起讲,初看令人困惑。但是看到后面才明白,这是作者为了介绍以似然函数为目标函数的最优化问题的解法。当一个最优化问题以似然函数作为其目标函数的时候,作者提到三种常用的优化方法,改进的迭代尺度法、梯度下降法以及牛顿法或者拟牛顿法。作为例子,作者演示了如何将 逻辑斯谛回归问题和最大熵模型 转化为以似然函数为目标函数的最优化问题,并利用上面提到的三种优化方法进行求解。本文将主要聚焦于 逻辑斯谛回归与最大熵模型 转化为 以似然函数为原创 2020-06-19 01:29:51 · 245 阅读 · 0 评论 -
《统计学习方法》—— 信息增益、决策树算法(ID3,C4.5)以及python3实现
前言在这篇博客中,我们将主要介绍决策树算法。决策树算法主要由三个部分构成:特征的选择,决策树的构建以及决策树的剪枝X。我们往往期望选择最有分类能力的特征。比如找对象这件事情上,女生面对众多追求者,往往会将经济能力、教育背景等作为区分的特征,因为这些特征最有分类能力;而很少女生将鞋码或者发型作为第一优考虑的特征。经过特征选择,我们可以将原数据集分成若干子数据集,对于这些子数据集,再次进行特征选择,直到数据集里面类别基本相同或者已经没有特征可分。上面的构建过程可能会造成过拟合。一个比较极端的情况是,决策原创 2020-06-17 18:29:23 · 564 阅读 · 1 评论 -
《统计学习方法》—— 朴素贝叶斯方法、详细推导及其python3实现(二)
前言在上一篇博客中,我们介绍了朴素贝叶斯方法以及详细推导。在这篇博客中,我们将介绍朴素贝叶斯的python3实现代码。这里,我们将算法复述如下:输入:数据集 T={(x1,y1),(x2,y2),...,(xN,yN)}T=\{(x_1, y_1), (x_2, y_2), ..., (x_N, y_N)\}T={(x1,y1),(x2,y2),...,(xN,yN)},其中,xi=(xi(1),xi(2),...,xi(n))x_i=(x_i^{(1)}, x_i^{(2)}, ...原创 2020-06-16 00:07:36 · 170 阅读 · 0 评论 -
《统计学习方法》—— 朴素贝叶斯方法、详细推导及其python3实现(一)
前言朴素贝叶斯方法通过构造数据生成分布来预测未知数据的类型,属于生成模型。这里之所以称为“朴素”,是因为我们假设数据特征之间具有互相独立的假设。在这篇博客里,我们将介绍朴素贝叶斯方法,并对其进行推导,最后给出python3的实现代码。1. 朴素贝叶斯方法记数据集为 T={(x1,y1),(x2,y2),...,(xN,yN)}T=\{(x_1, y_1), (x_2, y_2), ..., (x_N, y_N)\}T={(x1,y1),(x2,y2),...,(xN,yN)},其中,xi原创 2020-06-15 20:30:00 · 203 阅读 · 0 评论 -
《统计学习方法》—— k近邻方法、kd树以及python3实现
前言k近邻方法的初衷很简单,就是找最近的k个数据,根据这些数据的标记,按照某种规则,给新的数据标记。这里,我们可以看到三个重点:k值,距离度量和决策规则。k值决定方法的复杂程度。考虑k很大,足以包括所有数据的时候,此时给新的数据标记结果,必然由大多数相同标记决定,而少部分数据的信息则被忽略,这时,方法是欠拟合的,简单的;而当k=1时,此时新数据标记则直接根据最近的数据标记,对于众多的新数据,原有数据集的信息是被充分利用的,但是会过拟合,方法是复杂的。度量距离决定如何找到k个数据。在不同的距离度量下,原创 2020-06-13 22:00:14 · 347 阅读 · 0 评论 -
《统计学习方法》—— 感知机原始形式、感知机对偶形式的python3代码实现(三)
前言在前两篇博客里面,我们分别介绍了感知机的原始形式和感知机的对偶形式。在这篇博客里面,我们将用python3对上述两种感知机算法进行实现。8. 感知机原始形式现将算法复述如下:输入:数据集 T={(x1,y1),(x2,y2),...,(xN,yN)}T=\{(x_1, y_1), (x_2, y_2), ..., (x_N, y_N)\}T={(x1,y1),(x2,y2),...,(xN,yN)};学习步长 η\etaη输出:www 和 bbb;感知机模型 f(x)=sign(原创 2020-06-12 21:53:09 · 488 阅读 · 0 评论 -
《统计学习方法》—— 感知机对偶算法、推导以及python3代码实现(二)
前言在前一篇博客 《统计学习方法》—— 感知机原理、推导以及python3代码实现(一) 里面,我们介绍了感知机原始形式以及具体推导。在这篇博客里面,我们将继续介绍感知机对偶形式以及python3代码实现。6. 感知机对偶形式感知机算法原始形式:输入:数据集 T={(x1,y1),(x2,y2),...,(xN,yN)}T=\{(x_1, y_1), (x_2, y_2), ..., (x_N, y_N)\}T={(x1,y1),(x2,y2),...,(xN,yN)},其中,xi∈R原创 2020-06-11 21:23:10 · 713 阅读 · 0 评论 -
《统计学习方法》—— 感知机原理、推导以及python3代码实现(一)
前言感知机是《统计学习方法》介绍的第一个算法,它解决的也是最基本的问题,即,面对已经标记的数据,如何根据标记将它们区分开来。本文将从感知机问题的来源、感知机推导以及感知机的python3代码实现来展开。1、问题的来源为什么需要感知机?举个相亲的例子。你相亲了四个男性,分别为A,B,C,D;每个男性,从身高和颜值这两个特征进行刻画,身高以米为单位,颜值从0到1打分;这四个男性的数据为A(1.80,0.6),B(1.76, 0.9),C(1.5, 0.4),D(1.4, 0.7);这四个男性分原创 2020-06-11 16:51:37 · 346 阅读 · 1 评论