
机器学习
文章平均质量分 74
斯温jack
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
sklearn 谱聚类与文本挖掘初步(一)
有关双聚类的论述。产生双聚类的数据可以使用函数,sklearn.datasets.make_biclusters(shape = (row, col), n_clusters, noise, \shuffle, random_state)n_clusters 指定聚类数据产生的个数, noise指定使用的Gaussian噪声的标准差。其返回的是一个元组,即生成的数据,不同类的行翻译 2016-09-29 17:24:25 · 2897 阅读 · 0 评论 -
Deep Learning 初探(五)
下面展开对整体CNN的讨论:卷积神经网络的整体结构相当于在MLP(多层感知机)的前面加上若干卷积层及MaxPooling层进行预处理,从而得到边界的相关信息。下面对有关整体代码的一些细节进行讨论:有关一些初值的界的问题不进行进一步讨论,把它看成规定。一般在使用MaxPooling的时候选择ignore_border=True是基于将边界无实际意义的像素过滤掉。翻译 2016-11-02 17:09:16 · 471 阅读 · 0 评论 -
近似因子模型Cython编译代码
/* Generated by Cython 0.24.1 *//* BEGIN: Cython Metadata{ "distutils": {}, "module_name": "redis.Learning"}END: Cython Metadata */#define PY_SSIZE_T_CLEAN#include "Python.h"#ifndef原创 2017-02-26 19:49:04 · 1291 阅读 · 0 评论 -
Deep Learning 文章选读(一)
为明确深度学习的一些概念,对一些优秀的论文进行选读。Learning Deep Architectures for AIAbstarcttheoretial results suggest that in order to learn the kind of complicated functions that can represent high-level ab翻译 2016-11-03 17:17:36 · 458 阅读 · 0 评论 -
Deep Learning 初探(四)
CNN卷积神经网络初探:这里有一些对多层感知机的概念的重新阐述,多层感知的特点是一种层间全连接的神经网络,即在信息上是没有损失的。卷积神经网络具有如下要讨论的一些特点。Sparse Connectivity(指稀疏链接),即在设定神经网络的链接时,并不使用所有数据,而是每个连接元仅仅使用一部分,整合后覆盖整个信息。这种链接方式的一个特点是,由于有中间隐藏层的存在,在进行训练原创 2016-10-31 21:02:45 · 389 阅读 · 0 评论 -
Deep Learning 初探(三)
numpy 矩阵与向量加和实现按列加和的形式,故被类别实现常数项的加和是合理的。多层感知机的设计基本上是在logistic回归前,加一个预处理过程,通过S形曲线做映射,将空间变得线性可分(这个目的一般是通过核方法实现的),从隐藏层的处理上来讲,其是通过设定一些非线性变换及设定数量来实现变换,这种变换并不能单纯从变换后的维度上直接看出,例子可以从rbf(径向基)函数上翻译 2016-10-26 17:19:23 · 275 阅读 · 0 评论 -
Deep Learning 初探(二)
对于theano中的若干运算形式也可以结合numpy进行检验,相应的法则是相同的。简单的验证是可以完成的。theano运行所使用的内存与python使用的内存是相互独立的,一般的theano shared变量可以通过将参数borrow设定为True将内存进行共享而非copy,这样能够节约空间。下面看使用Theano完成Logistic Regression的过程:类的初始化翻译 2016-10-25 19:25:45 · 322 阅读 · 0 评论 -
Deep Learning 初探(一)
deep learning 一些基本概念 及模型的介绍,有关图片识别的部分被指定为像素的float表示,label的int表示。在有关模型的讨论中数据集被分割为三部分:train_set valid_set test_set分别以numpy的数组方式进行储存valid_set用于选择超参数基本的实现先说明分类模型,对于分类方法,所指定的是概率上的最大值问题,条件翻译 2016-10-24 17:03:32 · 421 阅读 · 0 评论 -
Theano 初探(二)随机数与梯度下降logistic模型
theano随机数生成:由RandomStreams 定义生成的随机数流,在相应的函数中如设定no_dafault_updates = True会相应的使得随机数generator不更新randomState 即产生相同的随机数生成结果。RandomStreams所定义的随机分布生成对象在调用rng.get_value或set_value方法时有参数borrow其与retu翻译 2016-09-09 06:54:38 · 891 阅读 · 0 评论 -
Theano 初探(一)
设定T.dscalar设定 theano标量, 转换函数中 string 'x'并没有实质性作用,其作用在于调试。这里生成function f后,f就是一个“一般的”python函数,这与不设定function的另一个调用形式相对应,z.eval({x: 16.3, y:12.1})theano 函数还支持张量输出,即多维因变量。亦可以使用诸如 T.dmat翻译 2016-09-08 06:54:48 · 1122 阅读 · 0 评论 -
scikit-learn 回归基础
numpy ndarray属性:shape dtype有切片运算当对赋值后的容器部分元素进行修改,影响原ndarray。ndarray Array creation routines: 可以用来构造ndarray的一些常用接口(Ones and zeros and so on)一些ndarray的接口: ndarray.T(转置) ndarray.flat: 类原创 2016-07-16 21:54:45 · 979 阅读 · 0 评论 -
sklearn Spectral Clustering
Spectral Clustering利用拉普拉斯矩阵的数值域衡量两类的区分关联度RatioCut,以关联度小为目标,转化为以特征值偏序的倒序(从小到大),使用相应特征向量作为K-means的k_features进行聚类。由于小特征向量度量的是数据扁平方向的相应特征(坐标轴),当然也严格对应于关联度小,考虑到此时,相应特征向量的元素就是样本点所属类别的表示,故利用K-mea翻译 2016-08-15 07:04:46 · 2976 阅读 · 0 评论 -
sklearn MeanShift
MeanShift方法基本上是通过核加权实现质心漂移的方法。sklearn.cluster.estimate_bandwith:用于估计加权核的带宽,n_samples参数指定用于估计的样本数,quantile指定至少被使用的指定数量样本数的分位数。(取值与[0, 1])sklearn.cluster.MeanShift:bin_seeding用来设定初始核的位翻译 2016-08-15 07:01:37 · 6744 阅读 · 0 评论 -
Affinity Propagation
Affinity propagation其中两点相似度s(i, j)的度量默认采用负欧氏距离。sklearn.cluster.AffinityPropagation 有参数preference(设定每一个点的偏好,将偏好于跟其他节点的相似性进行比较,选择高的作为exmplar,未设定则使用所有相似性的中位数)、damping (阻尼系数,利用阻尼系数与1-阻尼系数对r 及 a进翻译 2016-08-13 21:34:20 · 2090 阅读 · 0 评论 -
Deep Learning 文章选读(二)
Learning Deep Architectures for AIHere,we assume that the computational machinery necessary to express complex behaviors(which one might label "intelligent") requires highly varying mathem翻译 2016-11-04 17:07:29 · 363 阅读 · 0 评论 -
模仿R语言c++ 向量类c 矩阵类matrix等(持续更新 欢迎指点)
这部分利用C++模仿定义了R的向量、矩阵运算,不断更新,在效率上部分编码有欠缺,欢迎指点。本人统计狗出身,勿喷。原创 2015-09-22 22:52:34 · 1597 阅读 · 0 评论 -
python 奇异值分解小程序
import numpy as npimport randomdef gen_inv(a): a_sq = np.dot(a.T, a) eigen = np.linalg.eig(a_sq) eigen_vals = eigen[0] eigen_vectors = eigen[1]原创 2016-07-16 21:53:42 · 1554 阅读 · 0 评论 -
近似因子模型
import numpy as npfrom numpy.random import multivariate_normal, random, poissonfrom numpy.linalg import eigh, norm, svdfrom scipy.stats import exponimport matplotlib.pyplot as pltfrom sklear原创 2016-07-16 21:57:21 · 1322 阅读 · 0 评论 -
numpy KNN简单实现
numpy支持矩阵减向量(每行减去某个向量) 列的情况可以考虑转置。R实现:library(class)attach(iris)train y x fit print(1 - sum(fit==y)/length(y)) 利用ndarray的诸多特性,可以实现非常简短的(DIY)KNN:import numpy as np from sk原创 2016-07-27 21:45:50 · 1241 阅读 · 0 评论 -
logistic regression
logistic regression:numpy 向量化运算可以很快地完成切片任务。如根据条件构造数据集时 取条件union可以通过bool矩阵的加法完成,对偶地intersection可通过bool矩阵乘法完成。(补可以考虑-)我们在下面的例子中有用到。(以替换之前的代码)先调用sklearn 后自己用优化法解 得到相同结果:from __futur原创 2016-07-31 17:53:22 · 393 阅读 · 0 评论 -
Pandas 初探(一)
pandas import pandas as pd import numpy as npimport matplotlib.pyplot as plt # s has the type of Seriess = pd.Series([1, 3, 5, np.nan, 6, 8])# dates can generate dates interfac原创 2016-08-20 11:05:43 · 955 阅读 · 0 评论 -
Cython 初探及关于性能提升的初步讨论
Cython 可以通过强类型 大大加快Python代码的运行效率:简单例子:pure pythondef f(x):return x ** 2 - x def intergrate_f(a, b, N):s = 0dx = (b - a)/ Nfor i in range(N):s += f(a + i * dx)return s * dx原创 2016-09-20 17:22:39 · 1952 阅读 · 2 评论 -
Pandas 初探(二)
对于pandas DataFrame对象的理解可以参看numpy.ndarray的一些细节,仅仅是添加了一些方便的接口。可以直接使用[]进行行切片访问,对于列中的情况,使用loc[],一般也是直接根据行进行切片,添加":" 后与numpy.ndarray的多维数组的切片方式类似可以进行列切片。(类别切片)对于数值的单个元素访问可以使用at 且有其访问速度比进行切片访问快翻译 2016-10-21 17:08:29 · 596 阅读 · 0 评论 -
sklearn K-means MiniBatch-K-Means
K-means:K-means的注意事项,对于不同量纲(扁平数据)及(类别)非凸数据不适用,应当做PCA预处理。通过对协方差阵的估计可以看到,make_blobs是用单位协方差阵生成的。cluster_std为每个cluster的标准差。下面Anisotropicly Distributed Blobs施加的是强线性变换(无扰动)并强负相关变换后相关系数-0.950翻译 2016-08-13 21:30:28 · 2413 阅读 · 0 评论 -
sklearn GMM BIC 模型选择
BIC为似然函数与参数及样本量的组合,选择该值最小的模型。np.infty: inf对GMM模型直接调用bic就可以得到其值itertools.cycle: 实例化圆形迭代器,zip具有压缩取短的性质。这里还使用了凸组合:bic.min() * 0.97 + 0.03 * bic.max()下面是一个利用BIC选取GMM的例子:import itertools翻译 2016-08-13 21:25:57 · 7893 阅读 · 0 评论 -
sklearn GMM
sklearn.cross_validation.StratifiedKFold:分层交叉验证,使得交叉验证抽到的样本符合原始样本的比例。类GMM模型,_get_covars 应当返回每一个混合成分的协方差矩阵。np.linalg.eigh 返回特征值特征向量二元组。np.arctan2 返回的是两个序列比的弧度值,可以考虑手动转为角度值。mpl.pat翻译 2016-08-12 07:07:08 · 9134 阅读 · 2 评论 -
sklearn 谱聚类与文本挖掘初步(二)
在tf-idf概念中首先出现的是词频(Term frequency == TF)之后又有(inverse document frequency == IDF),这是一个用于防止类似过拟合的因子,这里过拟合的概念是指一些常出现的一些没有实际意义的词汇,类似于前面提到的停词(stop_word)用于减少这些词汇的相对重要性。tf-idf被定义为Term frequency 与翻译 2016-09-30 16:47:07 · 1969 阅读 · 0 评论 -
Python 对于机器学习模型 写并行及多线程版本
下面对于一个分析模型给出相应的并行(Python Parallel)及多线程(Theard)版本,为了学术上的代码保密使用了代码混淆工具对代码进行了加密,主要关注点在于如何进行并行及多线程重组。下面是示例代码:from __future__ import division #line:1import numpy as O0OO00000O0O0OO00 #line:2fro原创 2016-09-28 14:29:09 · 3762 阅读 · 4 评论 -
sklearn 源码解析 coordinate_descent.py Lasso回归 ElasticNet回归(1)
coordinate_descent.py Lasso回归 ElasticNet回归import sys import warnings from abc import ABCMeta, abstractmethod import numpy as np from scipy import sparse from .base import _pre_原创 2016-08-24 07:29:23 · 2165 阅读 · 0 评论 -
Scipy Lecture Notes(一)
由于某些科学计算及应用的高级命题的需要,对Scipy Lecture Notes展开学习。IPython的内置变量查询提供了如同Redis的 * 运算。在IPython中使用%matplotlib后,在利用matplotlib 进行画图时在显示图片时,不需要使用plt.show()命令。非同形数组相加,创造矩阵的例子:np.arange(6) + np.ar原创 2016-08-22 11:26:11 · 1047 阅读 · 0 评论 -
Python R 线性回归 高斯回归 比较
使用的数据是公路一氧化碳数据,相应细节可参见下面链接:数据下载链接:http://www.statsci.org/data/general/cofreewy.htmlR设定工作目录指令setwd下面先使用R 的逐步回归选取AIC最小的普通线性模型实行最小二乘估计:w = read.table("COfreewy.txt", header = T)a = lm(C原创 2016-08-21 14:35:29 · 3813 阅读 · 1 评论 -
sklearn 源码解析 基本线性模型 岭回归 ridge.py(2)
class _BaseRidge(six.with_metaclass(ABCMeta, LinearModel)): @abstractmethod def __init__(self, alpha = 1.0, fit_intercept = True, normalize = False, copy_X = True, max_iter = None, tol =原创 2016-08-19 05:59:27 · 1596 阅读 · 0 评论 -
sklearn 源码解析 基本线性模型 岭回归 ridge.py(1)
对于前面已经提到的类及一些细节不再给出。对于稀疏矩阵的了解是必要的。from abc import ABCMeta, abstractmethod import warnings import numpy as np from scipy import linalg from scipy import sparse from scipy.sparse import原创 2016-08-18 07:21:01 · 2043 阅读 · 0 评论 -
sklearn 源码解析 基本线性模型 base.py
from __future__ import division from abc import ABCMeta, abstractmethod: 有关实现抽象类的方法。import numbers: 抽象基类层次结构,这些类不可被实例化。import warnings import numpy as np import scipy.sparse as sp from原创 2016-08-17 07:05:13 · 4022 阅读 · 0 评论 -
sklearn DBSCAN
DBSCAN 该聚类算法利用点周围密度的概念进行聚类,不一定要求类具有凸性,因为其可通过密度构造出噪声点。参数min_sample、eps给出核心点选择的定义,与esp为半径最少包含min_samples的为核心点。-1标记噪声点,非负整数标记类别。numpy.zeros_like:生成与给定序列shape相同的序列。下面是一个例子:(大点为核心点,翻译 2016-08-15 07:11:03 · 4358 阅读 · 6 评论 -
sklearn Hierarchical Clustering
层次聚类基于一定的规则生成树形结构(各个类数),比较消耗性能。AgglomerativeClustering: 使用自底向上的聚类方法。主要有三种聚类准则:complete(maximum) linkage: 两类间的距离用最远点距离表示。avarage linkage:平均距离。ward's method: 以组内平方和最小,组间平方和最大为目的。nu翻译 2016-08-15 07:07:59 · 7142 阅读 · 0 评论 -
scikit-learn 交叉验证绘图及原理实践
交叉验证返回的是平均均方误或平均判定正确率。from sklearn import datasetsfrom sklearn.cross_validation import cross_val_predictfrom sklearn import linear_modelimport matplotlib.pyplot as pltlr = linear_mod原创 2016-07-16 21:58:46 · 3029 阅读 · 0 评论 -
scikit-learn svm初探
下面的代码仅仅作为伪代码来看,因为拟合效果不好,思考是优化求解的问题,仅有w_bar_2_1的解是收敛的,但是拟合效果很差。svm实现要进一步思考。import numpy as npfrom sklearn import svmfrom scipy.optimize import minimizefrom numpy.linalg import norm原创 2016-07-16 21:59:49 · 818 阅读 · 0 评论 -
sklearn Gradient Tree Boosting
sklearn.metrics.mean_squared_error:标准均方误。Gradient Tree Boosting方法可以看作将AdaBoost方法的模型组合方式应用于决策树,但并不采取单点迭代惩罚加权,而是对某个模型采用对所有样本的距离模式(l2 l1 and so on)来求解。在GTB中设计后的模型中调用loss_可以返回使用的损失函数,可以用来计算单翻译 2016-08-11 07:21:21 · 1261 阅读 · 0 评论 -
sklearn Discrete AdaBoost vs Real AdaBoost
在组合式学习器中一般有参数learning_rate :学习速率 学习率这是一个取值在[0, 1]上的值,一些文章说其是用来在算法中用来设定迭代范围的,过大会导致过拟合,过拟合意味着拟合函数震荡不稳定,这在直观上是可以理解的。对于adaBoost组合模型调用staged_predict可以得到每个迭代阶段的预测值。sklearn.metrics.zero_one_l翻译 2016-08-08 21:43:42 · 1687 阅读 · 0 评论