机器学习
Yaphat
这个作者很懒,什么都没留下…
展开
-
不平衡数据分类算法介绍与比较
介绍在数据挖掘中,经常会存在不平衡数据的分类问题,比如在异常监控预测中,由于异常就大多数情况下都不会出现,因此想要达到良好的识别效果普通的分类算法还远远不够,这里介绍几种处理不平衡数据的常用方法及对比。符号表示记多数类的样本集合为L,少数类的样本集合为S。用r=|S|/|L|表示少数类与多数类的比例基准我们先用一个逻辑斯谛回归作为该实验的基准: Weighted loss function转载 2016-09-09 11:13:25 · 1799 阅读 · 0 评论 -
TensorFlow 实现Multilayer Perceptron
# Import MINST datafrom tensorflow.examples.tutorials.mnist import input_datamnist = input_data.read_data_sets("MNIST_Data/data/", one_hot=True)import tensorflow as tf# Parameterslearning_rate = 0.原创 2016-12-07 09:54:19 · 1404 阅读 · 0 评论 -
Deep Learning学习资源
1、Deep Learning相关书籍1、Neural Networks and Deep Learning ,一本免费的在线书,极客学院有相应的中文翻译版,不是很全。2、教程1、 最为知名的一个教程是Stanford大学Andrew Ng大牛的UFLDL Tutorial,这个教程也有相应的中文版本 2、李宏毅的ppt,这里下载,300多页,通俗易懂。还有相应的视频,youtube链接 ,还有原创 2016-11-24 15:04:49 · 6320 阅读 · 1 评论 -
TensorFlow实现KNN
下面是用TensorFlow实现KNN,步骤在代码中描述很详细,不过多介绍了。# encoding:utf-8import numpy as npimport tensorflow as tf# 加载mnist数据集from tensorflow.examples.tutorials.mnist import input_datamnist = input_data.read_data_set原创 2016-11-23 15:54:09 · 3612 阅读 · 0 评论 -
范数和距离
1、范数向量的范数可以简单形象的理解为向量的长度,或者向量到零点的距离,或者相应的两个点之间的距离。向量的范数定义:向量的范数是一个函数||x||,满足非负性||x|| >= 0,齐次性||cx|| = |c| ||x|| ,三角不等式||x+y|| <= ||x|| + ||y||。向量的范数定义:向量的范数是一个函数||x||,满足非负性||x|| >= 0,齐次性||cx|| = |c| ||转载 2016-11-23 13:46:32 · 1203 阅读 · 0 评论 -
TensorFlow学习资源
TensorFlow完整教程:1、TensorFlow源码库: https://github.com/tensorflow/tensorflow 2、极客学院翻译的TensorFlow中文文档 http://wiki.jikexueyuan.com/project/tensorflow-zh/ 3、TensorFlow入门例子库,每个例子都有对应的Notebook。对新手是比较好的教程。原创 2016-11-23 10:59:03 · 951 阅读 · 0 评论 -
深度学习激活函数
在神经网络中,常用的激活函数(activation function)有以下几种:1、sigmoid函数2、双曲正切函数 tanh()3、修正线性函数 rectified linear functionf(x)=max(0,x) 它的特点是被认为是more biologically plausible than widely used logistic sigmoid or hyperbolic原创 2016-11-17 17:09:56 · 2016 阅读 · 0 评论 -
特征选择
概念特征选择是从一组特征中挑选出一些最有效的特征以降低特征空间维数的过程,是模式识别的关键问题之一。样本中是否含有不相关或冗余信息直接影响着分类器的性能,因此研究有效的特征选择算法至关重要。特征选择的框架首先从特征全集中产生出一个特征子集,然后用评价函数对该特征子集进行评价,评价的结果与停止准则进行比较,若评价结果比停止准则好就停止,否则就继续产生下一组特征子集,继续进行特征选择。选出来的特征子集一转载 2016-11-16 16:39:00 · 10132 阅读 · 0 评论 -
各种机器学习算法的优缺点
神经网络1)比较容易过拟合,参数比较难tune,而且需要不少trick; 2)训练速度比较慢,在层次比较少(小于等于3)的情况下效果并不比其它方法更优;原创 2016-08-31 20:58:35 · 4382 阅读 · 0 评论 -
TensorFlow实现 Logistic Regression
下面是用TensorFlow实现Logistic Regression,都做了标注。#encoding:utf-8import tensorflow as tf# 装在MNIST数据from tensorflow.examples.tutorials.mnist import input_datamnist = input_data.read_data_sets("MNIST_Data/dat原创 2016-11-26 11:19:10 · 5962 阅读 · 0 评论 -
TensorFlow 实现Linear Regression
下面使用TensorFlow实现线性回归,具体过程在代码中很详细。# encoding:utf-8import tensorflow as tfimport numpy as npimport matplotlib.pyplot as plt# 定义参数,分别是学习率,迭代次数,还有一个是定义每50次迭代打印一些内容learning_rate = 0.01train_epochs = 10原创 2016-11-24 10:24:19 · 1469 阅读 · 1 评论 -
Credit Card Fraud Detection(信用卡诈欺侦测)Spark建模
数据格式这个数据来自2013年9月欧洲信用卡交易数据,总共包括两天的交易数据。在284,807次交易中发现了492例诈骗。数据集极其不平衡,诈骗频率只占了交易频次的0.172%。 这个数据因为涉及敏感信息,用PCA处理过了,V1,V2,…V28是主成分,‘Time’和‘Amount’是没有经过PCA处理的。‘Time’是每次交易与第一次交易之间距离的时间,以秒计。‘Amount’代表消费金额,‘C原创 2017-04-02 16:14:43 · 8401 阅读 · 5 评论 -
German Credit Risk(德国信用卡违约分析)
数据信息先看下数据格式: 总共有20个属性,1个类别特征。信息如下:Attribute 1: (qualitative) Status of existing checking account A11 : … < 0 DM A12 : 0 <= … < 200 DM A13 : … >= 200 DM / salary assignments for at least 1 year原创 2017-03-29 22:44:46 · 11246 阅读 · 5 评论 -
SMOTE算法及其python实现
SMOTE(Synthetic Minority Oversampling Technique),合成少数类过采样技术.它是基于随机过采样算法的一种改进方案,由于随机过采样采取简单复制样本的策略来增加少数类样本,这样容易产生模型过拟合的问题,即使得模型学习到的信息过于特别(Specific)而不够泛化(General),SMOTE算法的基本思想是对少数类样本进行分析并根据少数类样本人工合成新样本添加原创 2016-09-07 21:12:04 · 47594 阅读 · 11 评论 -
SMOTE相关论文
Borderline-SMOTE:Borderline-SMOTE: A New Over-Sampling Method in Imbalanced Data Sets Learningmotivation:有些样本远离边界,所以对分类没有多大帮助,可以强化边界点。思路:将少数类样本根据距离多数类样本的距离分为noise,safe,danger三类样本集,只对danger中的样本集合使用smot原创 2017-03-04 21:11:54 · 9212 阅读 · 30 评论 -
MapReduce实现KMeans
具体方法:k-means的每一次迭代都可以分为以下3个步骤。第一步:Map:对于每一个点,将其对应的最近的聚类中心 第二步:Combine:刚完成map的机器在本机上都分别完成同一个聚类的点的求和,减少reduce操作的通信量和计算量。 第三步:reduce:将同一聚类中心的中间数据再进行求和,得到新的聚类中心 k-means 聚类算法进行 MapReduce 的基本思路:对串行算法中原创 2017-02-23 22:34:12 · 2781 阅读 · 0 评论 -
机器学习面试题汇总
1.LR正则化L1和L2的区别? 相同点:L1正则化和L2正则化都有助于降低过拟合风险,增加模型的泛化能力. 不同点:L1正则化比L2正则化更容易活得稀疏解,将不相关特征对应的权重设为0,去除不相关特征,进行特征选择.L2正则化进行特征权重衰减。L1正则是拉普拉斯先验,L2正则是高斯先验。 2.梯度下降法和牛顿法的区别? 梯度下降是用平面来逼近局部,牛顿法是用曲面逼近局部。牛顿法是二阶收敛,原创 2016-09-13 21:54:12 · 909 阅读 · 0 评论 -
TensorFlow实现CNN
用TensorFlow实现CNN来做MNIST分类,做了很明确的标注。# encoding:utf-8import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_datamnist = input_data.read_data_sets("MNIST_data/data", one_hot=True)原创 2016-12-08 17:17:29 · 1815 阅读 · 0 评论 -
深度学习损失函数
在利用深度学习模型解决有监督问题时,比如分类、回归、去噪等,我们一般的思路如下: 信息流forward propagation,直到输出端; 定义损失函数L(x, y | theta); 误差信号back propagation。采用数学理论中的“链式法则”,求L(x, y | theta)关于参数theta的梯度; 利用最优化方法(比如随机梯度下降法),进行参数更新; 重复步骤3、4,直原创 2016-11-17 14:31:16 · 7082 阅读 · 0 评论 -
sklearn做单机特征工程
目录 1 特征工程是什么? 2 数据预处理 2.1 无量纲化 2.1.1 标准化 2.1.2 区间缩放法 2.1.3 标准化与归一化的区别 2.2 对定量特征二值化 2.3 对定性特征哑编码 2.4 缺失值计算 2.5 数据变换 2.6 回顾 3 特征选择 3.1 Filter 3.1.1 方差选择法转载 2016-11-16 15:40:42 · 1876 阅读 · 0 评论 -
KNN及python实现
优点:精度高,对异常值不敏感,无数据输入假定,不做分布形式的假设.原创 2016-09-06 16:16:47 · 1093 阅读 · 0 评论 -
特征选择
Relevance analysis:类别和特征之间的相关性,排序,取前面几个特征方法包括: 卡方值(chi-square,CS) 对称不确定性(symmetrical uncertainty,SU ) ReliefFRedundancy analysis: 特征之间存在冗余,删除冗余特征Relevance analysis&Redundancy analysis:两个一起考虑方法包括:CFS原创 2016-10-21 21:05:21 · 2806 阅读 · 0 评论 -
H2O学习笔记(二)——H2O Flow
H2O Flow运行深度学习算法demo(一)启动H2Ojava -jar h2o.jar -flow_dir /[ENTER_PATH_TO_FLOW_DIRECTORY_HERE]-flow_dir 参数是为了指定flow在本地磁盘保存的位置。H2O有两种类型的参数JVM argumentsH2O arguments在浏览器打开http://localhost:54321,这就是H2O F原创 2016-10-22 13:23:46 · 7217 阅读 · 2 评论 -
属性类型
属性分为分类(categorical)的或定性(qualitative)的属性.数值(numerical)的或定量(quantitative)的属性.原创 2016-09-24 17:04:51 · 1056 阅读 · 0 评论 -
生成式模型和判别式模型的区别
区别:产生式模型(Generative Model)与判别式模型(Discrimitive Model)它们的区别在于:假设有样本输入值(或者观察值)x,类别标签(或者输出值)y判别式模型评估对象是最大化条件概率p(y|x)并直接对其建模,生成式模型评估对象是最大化联合概率p(x,y)并对其建模。其实两者的评估目标都是要得到最终的类别标签Y, 而Y=argmax p(y|x),不同的是判别式模型直接原创 2016-09-18 15:13:23 · 7214 阅读 · 0 评论 -
各种机器学习算法的优缺点
简述机器学习十大算法的每个算法的核心思想、工作原理、适用情况及优缺点等。1)C4.5算法:ID3算法是以信息论为基础,以信息熵和信息增益度为衡量标准,从而实现对数据的归纳分类。ID3算法计算每个属性的信息增益,并选取具有最高增益的属性作为给定的测试属性。C4.5算法核心思想是ID3算法,是ID3算法的改进,改进方面有:1)用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足;转载 2016-09-09 15:21:07 · 1356 阅读 · 0 评论 -
流形学习
概念流形学习方法(manifold learning),简称流形学习.它是假设数据是均匀采样于一个高维欧氏空间中的低维流形,流形学习就是从高维采样数据中恢复低维流形结构,即找到高维空间中的低维流形,并求出相应的嵌入映射,以实现维数约简或者数据可视化。概念理解什么是流形,直观上来讲,一个流形好比是一个 d 维的空间,在一个 m 维的空间中 (m > d) 被扭曲之后的结果。需要注意的是,流形并不是一个原创 2016-09-03 09:55:58 · 1285 阅读 · 0 评论 -
Python(x,y)中没有包括的算法包
Python(x,y)中没有包括的算法包:1、基于梯度的最优化方法OpenOpt:http://openopt.org/Welcome2、遗传算法Pyevolve:https://pypi.python.org/pypi/Pyevolve/0.5介绍文档:http://ftp.cbi.pku.edu.cn/pub/database/gene3d/gene3d/KG_PG_DATA/p1转载 2016-09-09 10:18:23 · 563 阅读 · 0 评论 -
H2O学习笔记(一)—— H2O概述
H2O框架简介H2O是开源的,分布式的,基于内存的,可扩展的机器学习和预测分析框架,适合在企业环境中构建大规模机器学习模型。H2O核心代码使用Java编写,数据和模型通过分布式 Key/Value 存储在各个集群节点的内存中。H2O的算法使用Map/Reduce框架实现,并使用了Java Fork/Join框架来实现多线程。H2O目前支持的机器学习算法有DRF,GBM,GLM,GLRM,Kmeans原创 2016-10-22 11:29:52 · 19274 阅读 · 1 评论 -
H2O学习笔记(四)——Deep Learning 例子
这里写图片描述##MNIST Digit ClassificationMNIST一个比较出名的数据集,包括60000张训练图片和10000张测试图片,每张图片是一个手写数字,包括282像素值的手写识别数据,扫描的手写数字如下图所示:Example in pythonimport h2ofrom h2o.estimators.deeplearning import H2ODeepLearningEs原创 2016-10-26 14:15:30 · 5377 阅读 · 0 评论 -
H2O学习笔记(六)—— Steam
SteamSteam智能引擎是一个端对端的平台,可以将构建和部署小应用的整个流程结合在一起。数据科学家和开发者可以协同合作,训练和部署预测模型,并将这些模型用于实时的小应用中。Steam可以运行在YARN上,并可以独立运行,由于我没有hadoop集群环境,所以这里用单机运行演示。Steam是一个能够将构建和部署应用结合在一起的平台本地机器安装和启动Steam1.安装Steam到本地略2.启动 Jet原创 2016-10-27 10:15:22 · 3299 阅读 · 0 评论 -
卷积神经网路(CNN)
卷积神经网络(Convolutional Neural Network, CNN)是深度学习技术中极具代表的网络结构之一,在图像处理领域取得了很大的成功,在国际标准的ImageNet数据集上,许多成功的模型都是基于CNN的。CNN相较于传统的图像处理算法的优点之一在于,避免了对图像复杂的前期预处理过程(提取人工特征等),可以直接输入原始图像。图像处理中,往往会将图像看成是一个或多个的二维向量,如之前转载 2016-11-12 09:53:35 · 884 阅读 · 0 评论 -
RSNNS神经网络
library("RSNNS")data <- read.table('/Users/xufly/Project/RProject/YearPredictionMSD.txt',header=FALSE,sep=",",fileEncoding = 'UTF-8')#将数据顺序打乱data = data[sample(1:nrow(data),length(1:nrow(data))),1:n原创 2016-11-10 17:02:46 · 1835 阅读 · 1 评论 -
H2O学习笔记(八)——Sparkling Water
sparkling water将h2o和spark相结合,在spark平台上运行h2o服务。提供了scala,python,R的接口,下面是spark water的一个整体架构图。 安装这里只简单介绍下PySparkling的安装 首先安装Hadoop和Spark,没有问题了再安装Sparkling Water。 PySparkling支持的一些版本 h2o_pysparkling_1.原创 2016-11-03 21:04:56 · 6646 阅读 · 2 评论 -
python处理数据
pd.read_csv()读取的文件是dataframe格式的,要用.values方法把它转变成numpy.ndarrays格式原创 2016-09-04 21:38:07 · 787 阅读 · 0 评论 -
H2O学习笔记(七)——Deep Water
Deep Water是一个深度学习框架,集成了MXNet, Caffe, TensorFlow,可以实现GPU优化的深度学习模型。目前项目还在开发中。两张图可以描述Deep Water的优点:Deep Water号称最好的深度学习框架,从上面的张图里可以看出,Deep Water集成了mxnet,TensorFlow,Caffe三个框架,这三个框架每个都有自己的特点,如果Deep Water取长补短原创 2016-10-27 14:57:23 · 3247 阅读 · 0 评论 -
H2O学习笔记(三)—— Deep Learning
H2O Deep Learning 模块Activation and Loss函数H2O支持的Activation Functionstanh函数关于0对称,使得训练算法收敛较快 Rectified Linear函数在图像识别上面有较高的性能表现 Maxout函数是广义的Rectified Linear函数对于响应变量,可以指定以下的几个分布函数:每一个分布都有对应的损失函数,Bernoulli原创 2016-10-22 15:32:33 · 5703 阅读 · 0 评论 -
H2O学习笔记(五)——Deep Autoencoders
先前的部分介绍了监督Deep Learning内容,Deep Learning 也可以用作非监督特征学习,尤其是在非线性降维方面。Deep AutoencodersDeep Autoencoders的原理可以看UFLDL的教程例子:Anomaly Detection#Import ECG train and test data into the H2O clusterfrom h2o.estima原创 2016-10-26 16:02:59 · 3208 阅读 · 0 评论 -
特征冗余
刻画特征之间相似性的几种方法: 1、对称不确定性(SU):取值在(0,1)之间,值越大,X,Y之间相关性越大,当取值为0,表示X,Y之间相互独立,反之,代表之间具有强依赖性,意味着当知道其中一个变量就可以推测出另一个变量。∑i=0ni2=(n2+n)(2n+1)6\sum_{i=0}^n i^2 = \frac{(n^2+n)(2n+1)}{6}可以分为C-相关和F-相关,任何一个特征f和类别C之原创 2017-04-24 20:33:17 · 11211 阅读 · 1 评论