机器学习
咆哮的大叔
给儿子树立一个爱写博客的好榜样。
展开
-
稀疏自编码
1 怎样理解稀疏性?为什么要加上稀疏性限制?目的是什么?当神经网络遇到什么问题时需要加上稀疏性? 答:自编码神经网络是一种无监督学习算法,它使用BP算法,让目标值等于输入值(O=I)。 那么问题来了,为什么要这样做?直接用I不就好了? 的确,我们并不关心O,我们关心的是中间层S。 中间层S有降维作用,但这种降维与PCA不同,PCA是提取数据的主要特征,直接去掉次要特征,而这里的S层是学习了数原创 2017-08-18 15:02:53 · 446 阅读 · 0 评论 -
手推adaBoost
①对所有训练集初始化相等的样本权重 D=[d1,d2,...dn]D=[d_1,d_2,...d_n] n为数据集的总数 ②将带有初始化权重的数据集送入基本分类器中训练fm(X)f_m(X),计算分类器误差率 em=p(fm(xi)≠yi)=∑ni=1(fm(xi)≠yi)ne_m=p(f_m(x_i)\neq y_i)=\frac{\sum_{i=1}^n(f_m(x_i)\neq原创 2017-04-23 14:22:01 · 504 阅读 · 0 评论 -
win10+python3.5+pycharm5.0+CPU 安装tensorflow
1首先安装python3.5(一定要3.5.x),pycharm5.0 python3.5:一路next就行(最好把add python3.5 to PATH勾上,免得到时候自己手动添加到系统环境变量,麻烦),这里有位道友写的很详细,详见:http://www.cnblogs.com/Alier/p/6362652.html 然后在命令符中输入python,出现python版本信息就说明你的py原创 2017-07-13 20:26:50 · 4835 阅读 · 1 评论 -
VGGNet
1 网络结构: 以224*224输入图片为例: 感觉VGGNet就是加深版的AlexNet,都是卷积与池化的叠加,最后再加两层全连接,然后softmax输出。VGGNet有5段卷积,每段卷积由2~3个卷积层后加一个最大池化组成。卷积核的数量也随着层数的增加而增多。VGGNet也沿用了AlexNet数据增强的方法(Multi-Scale)防止模型过拟合。 相较与AleNet,VGGNet最大原创 2017-08-17 21:13:42 · 5374 阅读 · 0 评论 -
ResNet
1网络结构: ResNet将网络往深里设计的思想发挥到了极致,据说有一千多层的,在ResNet网络中,深刻体会到没有最深,只有更深!那么问题来了,Resnet是怎么做到在这么极深的网络下,训练成功的?因为我们知道,随着网络层数的增加,需要训练的网络参数将不断增加,训练强度将大大提升,对于这种上千层的网络,面临的已经不仅仅只有过拟合的问题了,还有Degradation的问题。 从Resnet的原创 2017-08-17 21:29:34 · 654 阅读 · 0 评论 -
手推logistic
用x1,x2,...,xnx_1,x_2,...,x_n表示每个样本的n个特征,在每个特征前面加一个参数,就可以估计整体样本特征,下面我们就构造一个线性函数: h(x)=hθ(x)=θ0+θ1x1+θ2x2+...+θnxn=θTXh(x)=h_\theta(x)=\theta_0+\theta_1x_1+\theta_2x_2+...+\theta_nx_n=\theta^TX 然后,使用si原创 2017-04-23 15:26:53 · 554 阅读 · 0 评论 -
机器学习实战之贝叶斯(一)
1 算法概括 贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。而朴素朴素贝叶斯分类是贝叶斯分类中最简单,也是常见的一种分类方法。 贝叶斯公式: 这种形式可能对于分类问题不太明显,那么我们换种形式:,这样就一目了然了,我们的任务就是求出P(类别|特征)。如果对于一个有多个特征的数据集,那么贝叶斯的形式就要写成,在朴素贝叶斯中,我们假设各特征相互独原创 2017-04-09 14:10:39 · 2088 阅读 · 0 评论 -
手推SVM
1 线性分类 1.1 线性可分支持向量机 定义:给定线性可分训练数据集,通过间隔最大化学习得到的分隔面为: ① wx+b=0wx+b=0 则对应的分类决策函数为f(x)=sign(wx+b)f(x)=sign(wx+b),称为线性可分支持向量机。 如下图所示,(我们假设,分隔面上方的红色样本表示正样本,分隔面下方的蓝色样本为负样本): 对于任何样本x,中间红色的的分隔面为原创 2017-04-22 15:00:29 · 1264 阅读 · 0 评论 -
近邻法
1 最近邻(NN) 最近邻的思想:计算测试样本到所有已知样本之间的距离,将最近邻者的类别作为测试样本的类别标签。 然而,最近邻的决策存在很大的风险。如下图所示,矩形表示待测样本,如果按照最近邻的决策,待测样本矩形应该与三角新是一类,可是,如果将离矩形最近的那个三角形去掉呢,那么圆形就是矩形的类别,所以,这种决策对已知样本的数据集太过敏感。 2 K近邻(KNN) (1)思想 KNN是最原创 2017-04-17 13:41:12 · 665 阅读 · 0 评论 -
机器学习实战之Logistic回归
1 算法概述 Logistic的目标函数为:,当目标函数大于0.5时,认为是类别1,当目标函数小于0.5时被归为0类。所以,这是一种典型的二分类。 求目标函数实际上主要是求回归系数θ(权重)。通常的做法是:①将θ代入到一个代价函数J(θ)中,通过下降法,最小二乘法等方法最小化J(θ),从而找到θ;②将θ代入到一个似然函数中L(θ),使似然函数L(θ)达到最大,从而找到θ。 2 实现 1)使用原创 2017-04-10 09:55:25 · 312 阅读 · 0 评论 -
机器学习实战之SVM
1 算法概述 典型传统的SVM跟Logistic一样也是一个二分类问题,就是训练一个决策面,使数据最大程度的分布在决策面两侧。如下图所示: 中间的那条线就是一个决策面。使得图中O数据集与×数据集分布在决策面两侧。 上图中的函数可以写成,对于位于线上的点,y=0,位于线上方的点,属于1类,此时y>0,位于线下方的点,属于-1类,此时y<0。对于一个点集分类,当决策面里数据点越远,也就是原创 2017-04-10 10:22:25 · 1087 阅读 · 0 评论 -
机器实战之AdaBoost
1 算法概述 这是一种基于数据集多重抽样的训练方法。运行过程:首先将所有训练样本赋予一个大小相等的样本权重,然后训练出一个弱分类器(只要识别率大于0.5即可),并计算该分类器的错误率,根据分类错误率动态调整样本权重,即奖励分类错误的样本,同时惩罚分类真确的样本,这样就能扩大分类错误样本的作用而削弱分类真确样本的作用;接着,更新完样本权重后,再用同样的训练样本训练第二个分类器,再根据训练的错误率,更原创 2017-04-10 21:01:00 · 271 阅读 · 0 评论 -
机器学习实战之kNN
1 算法概述: 对于某测试样本,选择距离其最近的K个训练样本,将这K个训练样本中类别最多的标签作为此测试样本的标签,如下图所示: 绿色圆圈是测试样本,其他的是训练样本,KNN的思想就是基于距离的方法,主要是其中K的确定。如上图所示,如果假设K=3,则绿色测试样本就视为与红色小三角一个类别,如果假设K=5,则绿色测试样本就视为与蓝色小矩形一个类别。 算法优点:算法思想简单;精度高 算法缺点原创 2017-04-05 14:26:09 · 368 阅读 · 0 评论 -
机器学习实战之回归
1 回归与分类的区别: 定量输出称回归,回归是一种连续变量的预测; 定性输出称分类,分类是一种离散变量的预测。 比如:预测明天的气温是多少度?这是回归问题; 预测明天是阴天,晴天还是雨天?这是分类问题。 2 用线性回归找最佳拟合直线 (1)算法思想: 回归在数学上来说是给定一个点集,能够用一条曲线去拟合之,如果这个曲线是一条直线,那就被称为线性回归,如果曲线是一条原创 2017-04-15 19:10:55 · 320 阅读 · 0 评论 -
分类回归树(CART)
1 算法思想 CART既可以用于分类,也可以用于回归,也就是说,它的返回值,既可以是连续的,也可以是离散的。 CART伪代码为: CART(Classification And Regression Tree)算法采用一种二分递归分割的技术,将当前的样本集分为两个子样本集,使得生成的的每个非叶子节点都有两个分支。 2 将CART用于回归 主要分为两个阶段:建树和剪枝 (1)建树原创 2017-04-15 19:20:13 · 1035 阅读 · 0 评论 -
机器学习实战之K-means
1 算法思想 聚类的基本思想是将数据集中的样本划分为若干个通常是不相交的子集,每个子集称为一个”簇”(cluster)。划分后,每个簇可能有相同对应的概念(性质)。K-均值算法就是一个使用很广泛的聚类算法,其中的K就表示簇的数量,K-means简单的说就是通过质心来将样本划分成K个不同的簇。 伪代码为: 工作流程: (1)事先选定K个聚类中心 (2)计算待测样本a到每个聚类中心的距离,原创 2017-04-15 19:27:51 · 1532 阅读 · 0 评论 -
机器学习之Apriori
1 几个概念: (1)关联分析:一种在大规模数据中寻找有趣关系的任务。这种有趣关系一般有两种形式:频繁项集或者关联规则。 (2)频繁项集:经常,频繁出现在一起的物品集合,通常用一对{}来表示。 (3)关联规则:两种物品之间存在的关联关系,通常用“”表示。 (4)支持度:这是用来衡量频繁项集的因子。一个项集的支持度即为一个数据集中包含该项集的记录所占的比例。 (5)可信度(置信度):这是用来原创 2017-04-15 19:53:11 · 317 阅读 · 0 评论 -
机器学习实战之FP-growth
1 算法流程: (1)构建FP树 (2)从FP树种挖掘频繁项集 1.1 构建FP树 (1)创建FP树的数据结构 因为FP树比较复杂,所以需要创建一个了类来存储每个节点。 (2)构建FP树 思想:遍历数据集中每个元素,获得每个元素出现的次数,然后根据元素出现的频率,去掉不满足最小支持度的元素项。获得过滤后的频繁项集,然后开始构建FP树。构建BP树的过程原创 2017-04-15 20:04:59 · 935 阅读 · 0 评论 -
奇异值分解(SVD)
1 SVD简介 (1)作用:简化数据,去除噪声数据和冗余信息, (2)主要应用:推荐系统 (3)公式: (4)SVD思想:将数据按上面的公式分解成三部分,为数据集的特征值;是一个对角矩阵其他元素均为0,那些对角元素称为奇异值,这里有个性质:在某个奇异值之后,其他的奇异值都为0,我们就认为为0的奇异值对应的数据集是不重要的,可以去掉的。 U ,sigma,V=linalg.svd(data)原创 2017-04-15 20:21:31 · 1044 阅读 · 0 评论 -
机器学习实战之决策树
1 算法概述 1.1 结构分析 决策树是一种依托决策而建立起来的树,其中,每一个内部节点表示一个属性上的测试,每一个分支代表一个测试的结果输出,每一个叶子代表一种类别。 如上图所示就是一个决策树,首先分析所给数据集是否为同一类别,如果是,那就不用划分了,如果不是,就寻找划分数据集最好的特征进行划分(也就是影响数据集划分因素最明显的特征划分,这个后面会专门介绍最大信息增益法划分,知道怎原创 2017-04-07 17:07:41 · 343 阅读 · 0 评论