机器学习与数学模型
文章平均质量分 82
里面收集部分工业界常用算法与数学证明,以及部分数学建模问题的求解。
SuPhoebe
不是我针对谁,我是说在座的诸位都比我强
展开
-
计算机视觉中的深度学习11: 神经网络的训练2
Slides:百度云 提取码: gs3n接着第10讲继续总览单次设置激活函数数据预处理权重初始化正则化动态训练学习率规划large-batch 训练;超参数优化训练后模型融合迁移学习今天将介绍第二点和第三点。学习率规划我们有多种梯度下降的方式:SGD, SGD+Momentum, Adagrad, RMSProp, Adam对于这些梯度下降的方式,学习率都是一个超参数。我们要怎么选取一个合适的学习率呢?对于任何的方式,初始情况下,我们都应该选择较大原创 2020-12-06 13:55:12 · 1076 阅读 · 0 评论 -
计算机视觉中的深度学习10: 神经网络的训练1
Slides:百度云 提取码: gs3n第9课讲的是神经网络的软硬件,感觉比较科普,不做总结。总览单次设置激活函数数据预处理权重初始化正则化动态训练学习率规划large-batch 训练;超参数优化训练后模型融合迁移学习今天第一讲讲解的是第一点,第二讲将介绍第二点和第三点。激活函数之前也介绍了激活函数是什么,不同的激活函数在训练上,在效果上,在解决问题的方面都各有侧重。下面一一来介绍。Sigmoid非常常用的激活函数,在很多线性分类的machi原创 2020-09-20 09:48:27 · 910 阅读 · 0 评论 -
计算机视觉中的深度学习8: 卷积神经网络的结构
Slides:百度云 提取码: gs3n今天这一讲,我们以ImageNet Classification Challenge中使用的CNN的发展来进行介绍。AlexNet在2012年以前,ImageNet Classification Challenge的获胜者都是人工进行特征提取的线性分类模型。在2012年,AlexNet成功登顶。AlexNet的结构蓝色部分是神经网络的结构,从这我们能够看得出来,这个神经网络的各项长宽大小都是没有明显规律的。这花费了研究人员很长时间进行调整。黄色的部分原创 2020-09-11 14:07:35 · 684 阅读 · 0 评论 -
计算机视觉中的深度学习7: 卷积神经网络
Slides:百度云 提取码: gs3n之前说了全连接神经网络,说了线性分类,这些东西全都没有保留图片原本的2D特性,全都是将图片转化为1D的数组。而今天说的CNN,则是能更好地保留图片的2D特性,在CV中有着更广泛地运用。卷积层对于一个32x32x3的一个图片,全连接层将它平摊成一个3072x1的数组对于同样的图片,卷积层则是这么做的它通过一个和输入图片同样高的filter,让filter与输入图片进行卷积,得出了一个28x28x1的新的图片同时,我们可以有多个filter,从而产生多个原创 2020-08-27 13:42:21 · 489 阅读 · 0 评论 -
计算机视觉中的深度学习6: 反向传播
Slides:百度云 提取码: gs3n神经网络的梯度下降我们之前在学习线性分类器的时候,使用Loss函数以及梯度下降法来更新权重。那么对于神经网络,我们该如何计算每层神经元的权重呢?对每层W直接求导(愚蠢的方法)如上公式所示,Loss函数最终是能被表达成由各层W组成的函数公式,并且也完全有可能直接对其进行求导。问题非常乏味,需要大量矩阵演算,需要大量纸张如果我们想改变损失怎么办? 例如。 使用softmax代替SVM? 需要从头开始重新派生。这种方式不是模块化的。对于非常复杂的NN模型原创 2020-08-24 08:53:38 · 478 阅读 · 0 评论 -
计算机视觉中的深度学习5: 神经网络
Slides:百度云 提取码: gs3n前情回顾我们讲解了用线性模型进行图片分类用Loss函数来表示不同的权重的好坏用SGD来训练模型,使得Loss函数最小新的挑战线性分类并不能解决一切问题比如,下图的非线性分类问题再比如,对于每个类别,都需要一个模板来表示,从而它不能识别一个类中其他状态的图片。特征转化用如图的方式进行极坐标和直角坐标的转化,从而使得右图是线性可分的图片特征:颜色直方图将图片进行统计学意义上的特征提取图片特征:边缘梯度直方图用到了经典CV边缘判断,计原创 2020-08-23 02:58:20 · 936 阅读 · 0 评论 -
计算机视觉中的深度学习4: 优化
优化优化的本质目标就是ω∗=argminωL(ω)\omega^*=argmin_{\omega}L(\omega)ω∗=argminωL(ω)其中的L(ω)L(\omega)L(ω)是Lost函数,即,找到能够使得L(ω)L(\omega)L(ω)最小的ω\omegaω。优化的方式随机搜索(愚蠢的决定)梯度计算对于一维函数,通过微分得到梯度df(x)dx=limh→0f(x+h)−f(x)h{df(x)\over dx}=\lim_{h\rightarrow 0}{f(x+h)-f(原创 2020-08-20 14:02:33 · 547 阅读 · 0 评论 -
计算机视觉中的深度学习3: 线性分类
Slides:百度云 提取码: gs3n线性分类的参数线性分类的公式f(x,W)=Wx+bf(x, W) = Wx + bf(x,W)=Wx+b其中WWW为参数或者权重以一个有101010类的32×32×332\times 32\times 332×32×3的图片为例其中f(x,W)f(x, W)f(x,W)和bbb为(10,)(10,)(10,)向量,WWW为(10,3072)(10, 3072)(10,3072)的矩阵,xxx为(3072,)(3072,)(3072,)的向量。也可以把b原创 2020-08-17 14:34:12 · 414 阅读 · 0 评论 -
计算机视觉中的深度学习2: 图片分类
计算机视觉中的深度学习2: 图片分类Slides:百度云计算机与人眼的区别对于一张灰度图片,计算机能看到的是像素大小的0~255的灰度值;对于RGB图片,则是一张像素大小的3通道矩阵,即800x600x3。计算机视觉的挑战视角变化的挑战视角的变化带来的像素的变化是非常巨大的。在不同的角度拍摄一只猫,人类很容易分辨这是同一种猫,而像素的变化却非常巨大,只有设计出了更加完备的算法才能让计算机程序更稳定地运行。图片交叉的挑战多只猫会重叠在一起。粒度更细的分类我们不仅仅需要分辨原创 2020-08-14 14:15:05 · 1010 阅读 · 0 评论 -
Logistic Regression的思考与整理
在NYU上了Machine Learning,学到了一些以前没有注意或者不知道的知识。在原有部分博文的基础上进行更详细地讲解。关于回归算法的Bias和Variance加深了对误差理论的理解。对于一个输入为x⃗ \vec x的回归算法,我们设算法输出的预测函数为g(x)g(x),算法的真正分类函数为f(x)f(x)。我们期望的就是让g(x)g(x)尽可能地与f(x)f(x)靠近。我们将f(x)f(x)原创 2017-11-01 09:01:42 · 854 阅读 · 0 评论 -
理解神经网络中的Dropout
dropout是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃。注意是暂时,对于随机梯度下降来说,由于是随机丢弃,故而每一个mini-batch都在训练不同的网络。过拟合是深度神经网(DNN)中的一个常见问题:模型只学会在训练集上分类,这些年提出的许多过拟合问题的解决方案,其中dropout具有简单性而且效果也非常良好。算法概述我们知道如果要训练一个大型的网络,而原创 2017-09-28 10:32:06 · 33570 阅读 · 3 评论 -
朴素贝叶斯分类
背景 我们先举一个例子,关于向天上抛硬币的实验,有一个训练集{h,t,x,t,t,t,t}\{h,t,x,t,t,t,t\} 。那么我们通过这个训练集预测下一个抛的结果就应该是t,因为P(t)=57P(t) = {5\over 7}是最大的。 我们再举一个例子,现在有两种假设 1. 老师被外星人绑架了 — P(1)=0.00...01P(1) = 0.00...01 2. 老原创 2017-09-21 11:05:09 · 1582 阅读 · 0 评论 -
机器学习和数据挖掘(9):线性模型
线性模型非线性变换的代价非线性变换回顾在之前的文章中我们说过了非线性变换,我们有一个输入x=(x0,…,xd){\bf x}=(x_0,\dots,x_d),通过一个Φ\Phi变化,我们将之投影到一个新的平面上去,得到z=(z0,……,zd~){\bf z}=(z_0,\dots\dots,z_{\tilde d})。例如,z=(1,x1,x2,x1x2,x21,x22){\bf z}=(1,x_1原创 2017-08-08 21:26:09 · 973 阅读 · 0 评论 -
机器学习和数据挖掘(8):偏见方差权衡
偏见方差权衡偏见和方差我们一直试图在近似和泛化之间找到一个平衡。我们的目标是得到一个较小的EoutE_{out},也希望在样例之外也表现得非常棒的EoutE_{out}。复杂的假设集H\mathcal H将有机会得到一个接近目标函数的结果。VC维分析使用的是泛化边界来进行泛化。根据公式Eout≤Ein+ΩE_{out}\leq E_{in}+\Omega,其中EinE_{in}是我们在算法中需要去减原创 2017-08-06 21:48:55 · 1111 阅读 · 0 评论 -
机器学习和数据挖掘(7):VC维
VC维回顾与说明如果一个假设空间存在突破点,则一定存在成长函数mH(N)m_{\mathcal H}(N)被某个上限函数B(N,k)B(N,k)所约束,而上限函数等于一个组合的求和形式∑k−1i=0CiN\sum_{i=0}^{k-1}C_N^i,易知该形式的最高次项是Nk−1N^{k-1}。图左和右分别是以上限函数为上限的情况和以为Nk−1N_{k-1}上限的情况。可以看得出来:mH(N)≤B(N原创 2017-07-24 11:49:07 · 15784 阅读 · 1 评论 -
机器学习和数据挖掘(6):雷蒙保罗MAPA泛化理论
泛化理论上一章中提到的生长函数mH(N)m_{\mathcal H}(N)的定义:假设空间在NN个样本点上能产生的最大二分(dichotomy)数量,其中二分是样本点在二元分类情况下的排列组合。上一章还介绍了突破点(break point)的概念,即不能满足完全分类情形的样本点个数。不存在kk个样本点能够满足完全分类情形,完全二分类情形(shattered)是可分出2N2^N种二分类(dichoto原创 2017-07-22 20:45:11 · 1912 阅读 · 5 评论 -
机器学习和数据挖掘(5):训练与测试
回顾与说明不像上一章的学习流程图,我们这里假设可学习的数据来自于一个统一的分布(不考虑噪声的情况),且假设空间中的假设函数为有限个的情况下,其学习流程图如图所示。我们这里假设训练样本和测试样本本来自同一的分布,并且假设空间的假设是有限的,即|H|=M|\mathcal H| = M,MM是有限的值。在这种情况下,在训练样本N足够大,假设空间中的所有的假设都会遵循PAC准则,确保Ein(h)≈Eout原创 2017-07-21 11:05:03 · 2561 阅读 · 0 评论 -
机器学习和数据挖掘(4):噪声与误差
机器学习中的噪声与误差噪音(Noise)实际应用中的数据基本都是有干扰的,还是用信用卡发放问题举例子:噪声产生原因:标记错误:应该发卡的客户标记成不发卡,或者两个数据相同的客户一个发卡一个不发卡;输入错误:用户的数据本身就有错误,例如年收入少写一个0、性别写反了什么的。目标分布(Target Distribution)上述两个原因导致数据信息不精准,产生噪声数据。那机器学习算法应该如何处理噪声原创 2017-07-20 16:08:45 · 17001 阅读 · 0 评论 -
机器学习和数据挖掘(3):线性模型
感知器模型基本概念线性可分:在特征空间中可以用一个线性分界面正确无误地分开两类样本;采用增广样本向量,即存 在合适的增广权向量 a 使得:则称样本是线性可分的。如下图中左图线性可分,右图不可分。所有满足条件的权向量称为解向量。权值空间中所有解向量组成的区域称为解区。通常对解区限制:引入阈值threshold,要求解向量满足:aTy′i≥threshold>0,i∈[1,…,N]a^Ty_i^\pri原创 2017-07-12 10:28:22 · 1264 阅读 · 2 评论 -
机器学习与数据挖掘(2):学习的可能性
① 偏倚(bias)和方差(variance)在讨论线性回归时,我们用一次线性函数对训练样本进行拟合(如图1所示);然而,我们可以通过二次多项式函数对训练样本进行拟合(如图2所示),函数对样本的拟合程序看上去更“好”;当我们利用五次多项式函数对样本进行拟合(如图3所示),函数通过了所有样本,成为了一次“完美”的拟合。原创 2017-07-08 20:31:44 · 1449 阅读 · 0 评论 -
Logistic回归:牛顿迭代法
Logistic回归与牛顿迭代法很早之前介绍过《无约束的最优方法》里面介绍了梯度下降法和牛顿迭代法等优化算法。同时大家对于Logistic回归中的梯度下降法更为熟悉,而牛顿迭代法对数学要求更高,所以这里介绍如何在Logistic回归问题中使用牛顿迭代法。似然函数与代价函数似然函数则是 L(ω)=Πmi=1[g(xi)]yi[1−g(xi)]1−yiL(\omega) = \Pi_{i=1}^m[g原创 2017-03-23 17:05:47 · 8960 阅读 · 2 评论 -
大数据导论(二) Hadoop简介
基本介绍Google(自称)为云计算概念的提出者,在自身多年的搜索引擎业务中构建了突破性的GFS(Google File System),从此文件系统进入分布式时代。除此之外,Google在GFS上如何快速分析和处理数据方面开创了MapReduce并行计算框架,让以往的高端服务器计算变为廉价的x86集群计算,也让许多互联网公司能够从IOE(IBM小型机、Oracle数据库以及EMC存储)中解脱出来,原创 2017-02-12 10:57:53 · 4393 阅读 · 0 评论 -
大数据导论(一) 6V
大数据有几个特性,最著名的是数据量(volume),速度(velocity),多样性(variety)。除此以外,还有就是准确性(veracity),连通性(valence), 和价值(value) 。Volume这就是大数据本身的本质,有很多数据,很大数据量。而数据量本身并不使数据变得有用,所以我们需要对它进行再次的处理。计算机的运行速度决定了没法迅速处理如此大的数据规模,所以在大量数据领域,还有原创 2017-01-31 20:54:06 · 13835 阅读 · 0 评论 -
数据挖掘中的模式发现(八)轨迹模式挖掘、空间模式挖掘
这是模式挖掘、数据挖掘的一部分应用。空间模式挖掘(Mining Spatiotemporal Patterns)两个空间实体之间存在若干拓扑关系,这些关系基于两个实体的位置:分离相交包含如图所示地表示位置信息,可以提取类似下面的规则:is_a(x,large_town)⋀intersect(x,highway)→adjacent_to(x,water)[7%,85%]is\_a(x, lar原创 2017-02-08 17:01:16 · 13150 阅读 · 0 评论 -
数据挖掘中的模式发现(七)GSP算法、SPADE算法、PrefixSpan算法
这前两个算法真是出人意料地好理解GSP算法GSP算法是AprioriAll算法的扩展算法,其算法的执行过程和AprioriAll类似。其核心思想是:在每一次扫描(pass)数据库时,利用上一次扫描时产生的大序列生成候选序列,并在扫描的同时计算它们的支持度(support),满足支持度的候选序列作为下次扫描的大序列。第1次扫描时,长度为1的频繁序列模式作为初始的大1—序列。接下来会演示一下GSP如何产原创 2017-02-06 11:09:25 · 19360 阅读 · 4 评论 -
数据挖掘中的模式发现(六)挖掘序列模式
序列模式挖掘序列模式挖掘(sequence pattern mining)是数据挖掘的内容之一,指挖掘相对时间或其他模式出现频率高的模式,典型的应用还是限于离散型的序列。。其涉及在数据示例之间找到统计上相关的模式,其中数据值以序列被递送。通常假设这些值是离散的,因此与时间序列挖掘是密切相关的,但时间通常被认为是不同的活动。序列模式挖掘是结构化数据挖掘的一种特殊情况。基础概念为了帮助大家理解,我这里讲原创 2017-02-05 16:32:35 · 12290 阅读 · 5 评论 -
数据挖掘中的模式发现(五)挖掘多样频繁模式
挖掘多层次的关联规则(Mining Multi-Level Associations)定义项经常形成层次。如图所示那么我们可以根据项的细化分类得到更多有趣的模式,发现更多细节的特性。Level-reduced min-support使用的是Level-reduced min-support方法来设置最低支持度,即,越低的层有着越低的支持度。假设我们使用的是统一的最低支持度,那么如果支持度过低,低层的原创 2017-02-04 15:40:18 · 5967 阅读 · 0 评论 -
数据挖掘中的模式发现(四)模式评估(Pattern Evaluation)
Pattern Evaluation简介模式评估指的是根据某种兴趣度度量,识别代表知识的真正有趣的模式。 我们之前通过support-confidence association rule mining framework得到的强规则不一定是有趣的,所以它不足以进行模式评估,甚至在一些情况下,甚至常用的lift和chi-square measures也没有很好的效果。 这里将介绍模式或规则评估原创 2017-02-03 10:39:40 · 9915 阅读 · 0 评论 -
数据挖掘中的模式发现(三)FpGrowth算法
简介前两篇介绍了关联规则挖掘的一些基本概念和经典的Apriori算法,Aprori算法利用频繁集的两个特性,过滤了很多无关的集合,效率提高不少,但是我们发现Apriori算法是一个候选消除算法,每一次消除都需要扫描一次所有数据记录,造成整个算法在面临大数据集时显得无能为力。今天我们介绍一个新的算法,FpGrowth算法,来挖掘频繁项集,它的效率比Aprori算法高很多。FpGrowth算法通过构造一原创 2017-02-01 11:24:50 · 4323 阅读 · 7 评论 -
数据挖掘中的模式发现(二)Apriori算法
基本概念对于A→BA\rightarrow B支持度(support):P(A∩B)P(A ∩ B),既有A又有B的概率置信度(Confidence Strength):conf(A→B)=sup(A∪B)sup(A)=P(B|A)conf(A\rightarrow B) = {sup(A ∪ B) \over sup(A)} = P(B|A)即,在A发生的事件中同时发生B的概率 例如购物篮原创 2017-01-27 14:51:38 · 5332 阅读 · 2 评论 -
数据挖掘中的模式发现(一)频繁项集、频繁闭项集、最大频繁项集
Frequent Itemset(频繁项集)称I={i1,i2,...,im}I=\{i_1, i_2, ..., i_m\}为项(Item)的集合,D={T1,T2,...,Tn}D=\{T_1, T_2, ...,T_n\},i∈[1,n]i∈[1,n]为事务数据集(Transaction Data Itemsets),事务TiT_i由II中若干项组成。设SS为由项组成的一个集合,S={i|i∈原创 2017-01-26 10:17:33 · 47805 阅读 · 11 评论 -
用卷积神经网络检测脸部关键点的教程(四)通过前训练(pre-train)训练专项网络
本文翻译自Using convolutional neural nets to detect facial keypoints tutorial。用卷积神经网络检测脸部关键点的教程(一)环境配置与浅层网络训练 用卷积神经网络检测脸部关键点的教程(二)卷积神经网络训练和数据扩充 用卷积神经网络检测脸部关键点的教程(三)学习率,学习动量,dropout 用卷积神经网络检测脸部关键点的教程(四)通过翻译 2016-12-14 21:57:55 · 2052 阅读 · 0 评论 -
用卷积神经网络检测脸部关键点的教程(三)学习率,学习动量,dropout
本文翻译自Using convolutional neural nets to detect facial keypoints tutorial。用卷积神经网络检测脸部关键点的教程(一)环境配置与浅层网络训练 用卷积神经网络检测脸部关键点的教程(二)卷积神经网络训练和数据扩充 用卷积神经网络检测脸部关键点的教程(三)学习率,学习动量,dropout 用卷积神经网络检测脸部关键点的教程(四)通过翻译 2016-12-14 21:56:38 · 3795 阅读 · 0 评论 -
用卷积神经网络检测脸部关键点的教程(二)卷积神经网络训练和数据扩充
本文翻译自Using convolutional neural nets to detect facial keypoints tutorial。用卷积神经网络检测脸部关键点的教程(一)环境配置与浅层网络训练 用卷积神经网络检测脸部关键点的教程(二)卷积神经网络训练和数据扩充 用卷积神经网络检测脸部关键点的教程(三)学习率,学习动量,dropout 用卷积神经网络检测脸部关键点的教程(四)通过翻译 2016-12-14 21:52:32 · 6728 阅读 · 0 评论 -
用卷积神经网络检测脸部关键点的教程(一)环境配置与浅层网络训练
本文翻译自 Using convolutional neural nets to detect facial keypoints tutorial。这是一个手把手教你学习深度学校的教程。一步一步,我们将要尝试去解决Kaggle challenge中的脸部关键点的检测问题。这份教程介绍了Lasagne,一个比较新的基于Python和Theano的神经网络库。我们将用Lasagne去模拟一系列的神经网络翻译 2016-12-14 12:24:07 · 5943 阅读 · 2 评论 -
Lasagne 实现并测试MNIST
一般来说,按照教程将Lasagne配置完成就会带有example,如果没有的话,可以去Lasagne的Github下载。其中Lasagne的官方文档有部分本文代码的英文讲解。暂时先贴一段代码,要慢慢填坑。"""Usage example employing Lasagne for digit recognition using the MNIST dataset.This example is原创 2016-12-14 12:39:45 · 4603 阅读 · 0 评论 -
MATLAB 封装发布exe
从2016a开始到现在的2017,从MATLAB中创建出一个独立的应用程序有多种方法,可以用MATLAB提供的现有函数或者现有App。 本文介绍的是利用MATLAB的Application Compiler工具创建一个独立的应用程序,以下这个例子显示了如何从MATLAB中生成独立的应用程序。编写代码文件在MATLAB中,编写你想独立成为应用程序的MATLAB代码,保存为.m文件,此处以简单的mag原创 2016-12-06 11:42:15 · 47645 阅读 · 8 评论 -
theano学习初步(二) 基础Tensor函数
本文来自于官方文档Creation(声明)Theano有多种方式进行声明变量。变量也可以进行命名,从而便于debug,而且每一种声明方式都能够接受name的参数。 下面这三种声明方式,声明的是0维的整型变量,它的名字是myvar>>> x = scalar('myvar', dtype='int32')>>> x = iscalar('myvar')>>> x = TensorType(dty原创 2016-09-06 11:26:24 · 17529 阅读 · 0 评论 -
theano学习初步(一)
此文源于Theano官方教程,例子源于官方教程以及此处两个标量相加代码如下import numpyimport theano.tensor as Tfrom theano import function# 第一步,声明两个数学意义上的变量x = T.dscalar('x') # 浮点标量y = T.dscalar('y')z = x + y# f 返回的是一个0维度的numpy.nda原创 2016-09-05 12:29:34 · 2955 阅读 · 0 评论 -
Deep Learning学习 之 卷积神经网络(文字识别系统LeNet-5)
在经典的模式识别中,一般是事先提取特征。提取诸多特征后,要对这些特征进行相关性分析,找到最能代表字符的特征,去掉对分类无关和自相关的特征。然而,这些特征的提取太过依赖人的经验和主观意识,提取到的特征的不同对分类性能影响很大,甚至提取的特征的顺序也会影响最后的分类性能。同时,图像预处理的好坏也会影响到提取的特征。那么,如何把特征提取这一过程作为一个自适应、自学习的过程,通过机器学习找到分类性能最优的特原创 2016-05-15 21:33:44 · 20351 阅读 · 7 评论