AnFany
最爱有三:机器学习,Python,还有那个她。
展开
-
PaddlePaddle实战系列项目1:利用卷积神经网络实现0到9手势识别
在百度AI框架PaddlePaddele中利用BP神经网络实现数字0到9手势的识别原创 2020-04-09 15:12:47 · 1772 阅读 · 3 评论 -
Python3机器学习实践:集成学习之GBDT
1、GBDT说明GBDT是Gradient Boosting Decison Tree的简称,其中Gradient是梯度,是这个方法的核心;Boosting是提升树,是这个方法的框架;Decision Tree是决策树,是实现这个方法用到的模型。GBDT可以解决回归问题,经过一些处理也可以解决分类(二类、多类)问题,但是用到的树都是回归树,这一点需要牢记。首先通过简单的回归例子说明一下提升...原创 2019-01-02 09:23:05 · 299 阅读 · 0 评论 -
Python3机器学习实践:集成学习之LightGBM
本文为官方文档翻译,点击查看英文原版。LightGBM(Light Gradient Boosting Machine)是微软的开源分布式高性能Gradient Boosting框架,使用基于决策树的学习算法。下面介绍下此框架的优化。1、速度、内存方面的优化许多提升工具使用基于预排序的算法(近似直方图算法)(例如XGBoost中的默认算法)来进行决策树学习。这是一个比较简单的解决方案,但不...原创 2019-01-02 09:28:23 · 1306 阅读 · 1 评论 -
Python3机器学习实践:集成学习之XGBoost
一、XGBoost目标函数首先认清一点,它是GBDT的升级版,由陈天奇发明,在效率、方法方面都进行了优化。不管对于回归问题还是分类问题,好的机器学习方法的目的就是降低目标函数(也可称为损失函数)的值,目标函数包括2个部分:一是模型的损失函数,二是模型的复杂度。也就是目标函数具有下面的形式:上面公式中,前者表示模型的损失函数的值,降低它是为了降低偏差,也就是使得预测的数据和真实的数据更为接近...原创 2019-01-02 09:33:06 · 385 阅读 · 0 评论 -
Python3机器学习实践:集成学习之Stacking(模型堆叠)
一、Stacking流程图Stacking是个多层的多模型集合方法。每一层都可包括多个模型,下一层利用上一层模型的结果进行学习。下面以2层为例介绍此方法:2层Stacking运行示意图Stacking第一层中模型Mi的运行示意图二、Stacking步骤说明数据集说明训练数据集设为DT,假设样本数为3000;预测数据集合为DP,假设样本数为500;将训练数据集进行K...原创 2019-01-02 09:35:27 · 3699 阅读 · 2 评论 -
Python3机器学习实践:集成学习之Blending(模型混合)
Blending也是一种模型融合的方法,和Stacking过程很类似。一、Blending流程图二、算法步骤1,原始训练数据集分割将原始的训练数据集按照一定的比例分为训练数据集DT和验证(或者说测试)数据集DA。其中训练数据集的比例大概60-80%,如果这个比例太大的话,就会导致最终用于训练的数据样本数较少,因为最终用于训练的样本数就等于验证数据集的样本数数。预测数据集定义为DP。2...原创 2019-01-02 09:36:38 · 2225 阅读 · 3 评论 -
Python3机器学习实践:卷积神经网络篇一 图像
图像是由一个个像素点构成,每个像素点有三个通道,分别对应R,G,B。彩色RGB图像其实是一个三维矩阵,矩阵中的每个数字(0到255)代表的是一个像素一个通道的灰度。下面举例说明:一、读取这个图片的三维矩阵# -*- coding:utf-8 -*-# &Author AnFanyfrom skimage import iofig_path = r"C:\Users\GW...原创 2019-05-10 10:06:09 · 569 阅读 · 0 评论 -
Python3机器学习实践:卷积神经网络篇二 初识卷积
一、定义卷积,和加减乘除一样,是一种数学运算。下面给出它的定义:f,g的卷积记为(f*g),其中:其中[a, b]为函数的定义域,连续情形下f(x), g(x)在定义域区间内是可积的。二、示例:高利贷利息假设賴某每月都向某机构贷款f(t)元,贷款的利息是按复利计算,月利率3%。计算N个月月底賴某需要付出的利息P(N)?将上面的示例抽象表示,借款好比输入,计算利息的方式可看作一个系统...原创 2019-05-10 10:08:02 · 305 阅读 · 0 评论 -
Python3机器学习实践:卷积神经网络篇三 池化
池化(Pooing)操作的对象是单通道的数字矩阵,也就是对该矩阵某一个邻域内的数字集合进行采样。主要有3种形式:一般池化,重叠池化和金字塔池化。一、池化类型一般池化池化窗口的尺寸为n*n,一般情况下池化窗口都是正方形的。步长等于n。此时池化窗口之间是没有重叠的。对于超出数字矩阵范围的,只计算范围内的或者范围外的用0填充在计算。本文只介绍最大值池化,均值池化,随机池化。下面给出图示:...原创 2019-05-13 14:53:33 · 845 阅读 · 0 评论 -
Python3机器学习实践:集成学习之AdaBoost
一、AdaBoost初识这个方法主要涉及到2种权重:样本权重:每个样本都对应一个权重。在构建第一个弱模型之前,所有训练样本的权重是一样的。第一个模型完成后,要加大那些被这个模型错误分类(分类问题)、或者预测值与真实值的差值较大(回归问题)的样本的权重。依次迭代,最终构建多个弱模型。每个弱模型所对应的训练数据集样本是一样的,只是样本权重是不一样的。弱模型权重:得到的每个弱模型都对应一个权重。...原创 2018-12-29 09:59:04 · 344 阅读 · 0 评论 -
Python3机器学习实践:集成学习之随机森林
随机森林步骤:构建多个数据集在包括N个样本的数据集中,采用有放回的抽样方式选择N个样本,构成中间数据集,然后在这个中间数据集的所有特征中随机选择几个特征,作为最终的数据集。以上述方式构建多个数据集;一般回归问题选用全部特征,分类问题选择全部特征个数的平方根个特征为每个数据集建立完全分裂的决策树利用CART为每个数据集建立一个完全分裂、没有经过剪枝的决策树,最终得到多棵CART决策...原创 2018-12-29 09:57:51 · 598 阅读 · 0 评论 -
Python3机器学习实践:线性回归【实例:波士顿房价预测】
线性回归是机器学习中最基础的算法,它研究的是样本目标和特征变量之间是否存在线性关系。现在我们有506条有关波士顿房子的综合数据,包括房子的价格、房子所在区的犯罪率、黑人比例、高速公路条数等。每条数据就是一个样本,房价就是目标变量,其他数据可看作特征变量。线性回归的步骤:1,建立模型:确定目标和特征变量,建立方程其中Y代表目标(因变量),X为特征(自变量),W为需要计算的参数。数学符号便...原创 2018-12-29 09:35:07 · 4818 阅读 · 0 评论 -
Python3机器学习实践:逻辑回归【实例:心脏病预测】
逻辑回归的输出结果是判定二分类的,在实际问题中可用来解决二分类问题,当然也可利用多次的oneVSother来解决多分类问题。现在我们有270人的身体指标数据,包括年龄、性别、心率最大值、以及是否患有心脏病等数据。现在我们要利用逻辑回归来判断一个人是否患有心脏病。也就是根据逻辑回归的输出判定一条数据是类1,还是类0。本例中患心脏病为类0。逻辑回归最关键的就是理解Sigmoid函数,也称为Log...原创 2018-12-29 09:39:29 · 3918 阅读 · 2 评论 -
Python3机器学习实践:Softmax回归【实例:鸢尾花分类】
Softmax回归可看作逻辑回归的扩展,用于解决多分类问题。鸢尾花数据集是机器学习中比较常用的,数据集包含150条数据,共分为3类:setosa, versicolor, virginica,每类50条数据,每个数据包含4个属性,为萼片长度,萼片宽度,花瓣长度以及花瓣宽度。不同于逻辑回归,Softmax回归定义一条数据X1属于类别Yi的概率为P(Y=Yi|X1,Ai),其中Ai代表类别Yi的...原创 2018-12-29 09:43:03 · 4099 阅读 · 0 评论 -
Python3机器学习实践:Kmeans++聚类【实例:啤酒聚类】
下面介绍Kmeans以及Kmeans++算法理论以及算法步骤:根据样本特征选择不同的距离公式,程序实例中采用欧几里得距离。下面分别给出Kmeans以及Kmeans++算法的步骤。Kmeans聚类算法的结果会因为初始的类别中心的不同差异很大,为了避免这个缺点,下面介绍对初始类别中心的选择进行了优化的Kmeans++聚类算法。下面给出基于AnFany以及Sklearn库的结果:...原创 2018-12-29 09:45:41 · 3757 阅读 · 0 评论 -
Python3机器学习实践:集成学习
这个时代,如果你觉得自己不够强,那就找几个人联合起来。集成学习亦如此。 集成学习是一种将几种机器学习模型组合成一个模型的元算法(meta-algorithm),以减小方差(例如:Bagging),偏差(例如:Boosting),或者改进预测(例如:Stacking、Blending)。集成方法分类串行集成方法:多个模型顺序生成。此方法是利用模型之间的依赖关系。算法可以通过提高被...原创 2018-12-29 09:47:49 · 472 阅读 · 0 评论 -
Python3机器学习实践:BP神经网络理论与实例
符号说明神经网络的层数m,也就是包括一个输入层,m-2个隐层,一个输出层;输入层为I,其节点数等于单个样本的输入属性数N_i;隐层输出为Hh,h为1到m-2,每一个隐层的节点数为Nh;输出层为O,其节点数等于单个样本的输出属性数N_o;样本真实输出为R;层之间连接的权重为Wq,q为0到m-2,Wq矩阵的大小为(g, t), g为该隐层前一层的节点数,t为该隐层的节点数...原创 2018-12-29 09:50:15 · 892 阅读 · 0 评论 -
Python3机器学习实践:支持向量机理论与实例
支持向量机属于监督式学习的方法,可实现分类以及回归。它是Corinna Cortes和Vapnik等于1995年首先提出的。算法优点在于具有完整的理论支持,可以得到全局最优解,并且可以解决非线性问题。缺点在于不适用于样本数较大的情况,另外针对非线性问题时核函数的选择,没有特别的依据。分类–引入如上图,平面内展示了二维数据样本,其中“+”号表示正例,“-”号表示负例。存在无数条分割线可以分...原创 2018-12-29 09:52:30 · 303 阅读 · 0 评论 -
Python3机器学习实践:决策树CART
决策树主要包括ID3,C4.5以及CART。下面给出三种算法的说明:CART首先看下面表格中的示例数据(随机生成,仅供参考)。其中年龄,身高,月收入为连续变量,学历,工作为离散变量。如果把动心视为目标变量,此问题为分类问题。如果把动心度视为目标变量,此问题为回归问题。CART的目的是生成一个类似下面这样的树:分类树或者回归树。叶子节点若为Y或者N,是分类树;若是数字,则为回...原创 2018-12-29 09:55:44 · 444 阅读 · 0 评论 -
Python3机器学习实战——原理、代码、实例集锦
为机器学习的入门者提供多种基于实例的sklearn、TensorFlow以及自编函数(AnFany)的ML算法程序。只要数据格式和例子的中的一样,程序可灵活调用原创 2018-12-28 10:20:12 · 7867 阅读 · 0 评论