机器学习(machine learning)
文章平均质量分 91
跬步达千里
深度学习 图像处理 tensorflow caffe python C++
展开
-
Policy Gradient笔记
policy_gradient,主要包括两个网络: 价值网络和策略网络: 价值网络,主要用于评估基于当前状态下能够得到的最大reward(或者叫胜率),该最大reward包括该状态下的reward,以及后面几步的reward,只是后面几步的reward的权重系数更小 策略网络:主要用于评估在当前状态下采取哪个策略使得agent获取的reward最大,要利用训练数据的实际reward和价值网络产原创 2017-11-28 16:08:26 · 1384 阅读 · 0 评论 -
Deep Q Learning 笔记
alphago 基础之DQN Q learning: 1 主要用在解是离散时 2 主要是利用值函数,即,直接由值函数来推策略 3 其核心在于bellman方程和代价函数 bellman的核心在于使用reward的时候要考虑到将来的情况,而不是只考虑现在的情况,否则的话,只考虑到当前的reward就和人只顾当下,不考虑未来,是走不长远的,在游戏中就意味着,你很快将死掉,不论是Qlearnin原创 2017-11-29 10:46:00 · 1081 阅读 · 1 评论 -
拉格朗日乘子法及KKT条件
拉格朗日乘子的引入: 1 对于求极值和有等式约束的优化问题,例如: 假设有自变量x和y,给定约束条件g(x,y)=c,要求f(x,y)在约束g下的极值。我们可以画出f的等高线图,如下图。此时,约束g=c由于只有一个自由度,因此也是图中的一条曲线(红色曲线所示)。显然地,当约束曲线g=c与某一条等高线f=d1相切时,函数f取得极值。两曲线相切等价于两曲线在切点处拥有共线的法向量。因此可得函数f(x原创 2017-10-25 17:53:28 · 1618 阅读 · 0 评论 -
核稀疏表示公式推导
本文是对文章kernel sparse representation with local patterns for face recognition中2.2节公式的推导 在优化求解中,很多人可能都会见过这个公式: 而根据正则项的不同,l1正则项,l2正则项,可以进行细分: http://blog.csdn.net/liyuan123zhouhui/article/details/51原创 2017-10-20 09:29:55 · 2173 阅读 · 0 评论 -
L0、L1、L2、Elastic Net正则项
先介绍下各自的用处: L0范数:就是指矩阵中非零元素的个数,很显然,在损失函数后面加上L0正则项就能够得到稀疏解,但是L0范数很难求解,是一个NP问题,因此转为求解相对容易的L1范数(L1是L0范数的最优凸近似) L1范数:矩阵中所有元素的绝对值的和。损失函数后面加上L1正则项就成了著名的Lasso问题(Least Absolute Shrinkage and Selection Op原创 2016-07-11 18:03:31 · 9007 阅读 · 0 评论 -
在线编译C++程序、java api、python
arxiv文章查询:https://arxiv.org/find专利检索:http://www2.soopat.com/Home/IIndexsearch engine:https://search.chongbuluo.com/数据集检索:https://hyper.ai/datasetspip install xxxx -t 国内源国内源:清华大学ht...原创 2016-06-13 16:09:24 · 3373 阅读 · 1 评论 -
对keras训练过程中loss,val_loss,以及accuracy,val_accuracy的可视化
hist = model.fit_generator(generator=data_generator_reg(X=x_train, Y=[y_train_a,y_train_g], batch_size=batch_size), steps_per_epoch=train_num // batch_size, ...原创 2019-04-18 17:09:15 · 20730 阅读 · 7 评论 -
SVM公式推导
时间有限,markdown编辑公式不熟悉,全当是自己理理svm的公式了 支持向量机 SVM出发点: 1 对于二维平面,给定平面上的任何一个直线: 直线1 (1)对于平面上的任何一点,与直线的关系为:要么在直线上,要么在直线外,在直线上就是y(x)= 0 对于不在直线上,代入直线要么y(x) > 0,要么y(x) < 0 svm:对于平面上要分类的两类点(A类和B类原创 2017-08-08 15:59:05 · 1290 阅读 · 0 评论 -
梯度下降法,牛顿法,坐标下降法
自己简单整理了梯度下降法,牛顿法,坐标下降法的理论,为了自己以后查看方便,时间有限,因此格式还有待改进! 梯度下降法 梯度下降法化算法是常见的优梯度,现在一般使用效果应该不怎么好,但是却是非常基础的理论 在微积分里面,对多元函数的参数求∂偏导数,把求得的各个参数的偏导数以向量的形式写出来,就是梯度。比如函数f(x,y), 分别对x,y求偏导数,求得的梯度向量就是(∂f/∂x, ∂f/∂y)T,原创 2017-10-19 10:56:49 · 5167 阅读 · 0 评论 -
Levenberg-Marquardt Algorithm
对于最小二乘问题,我们的优化目标是: 1 上面公式中的1/2是为了求导时看起来更美观这里: 2 r的雅克比矩阵: 3 有了雅克比矩阵,我们可以在计算梯度函数时,非常方便: 4 上面的结尾可以知道:有了雅克比矩阵,就知道了hessian矩阵的一部分,并且不增加计算量(这很重要),并且也正是因为这一点算法可以高效的解决最小二乘问题。要理解这一点,请记住,对于其他所有基于梯度下降的翻译 2016-09-01 18:01:45 · 6100 阅读 · 0 评论 -
bundle adjustment
看了半天文档,有一点点思路,也不知道理解的对不对,先记录下来:个人的理解是,对于相同的物体,在不同的图像上成的像,他们是可以通过一个变换来进行映射到同一个图像上的,而这个映射对应一个的矩阵,这个矩阵里面就有很多参数。而这个参数可以通过一个约束方程来求,该约束方程的代价函数就是不同的物体映射到同一个图上以后,对应的特征点之间的差值的平方和,记为error。而bundle adjustment的目的原创 2016-08-02 10:55:06 · 1517 阅读 · 0 评论 -
adaboost原理(包含权重详细解释)
1.1 Adaboost是什么AdaBoost,是英文"Adaptive Boosting"(自适应增强)的缩写,由Yoav Freund和Robert Schapire在1995年提出。它的自适应在于:前一个基本分类器分错的样本会得到加强,加权后的全体样本再次被用来训练下一个基本分类器。同时,在每一轮中加入一个新的弱分类器,直到达到某个预定的足够小的错误率或达到预先指定的最大迭代次数转载 2016-06-20 14:28:32 · 5419 阅读 · 2 评论 -
clustering
http://blog.csdn.net/jdplus/article/details/40351541https://github.com/lmcinnes/hdbscanhttp://hdbscan.readthedocs.io/en/latest/outlier_detection.html转载 2016-07-15 16:50:09 · 625 阅读 · 0 评论 -
随机森林
一 利用随机森林计算特征重要性在随机森林中某个特征X的重要性的计算方法如下:1:对于随机森林中的每一颗决策树,使用相应的OOB(袋外数据)数据来计算它的袋外数据误差,记为errOOB1.2: 随机地对袋外数据OOB所有样本的特征X加入噪声干扰(就可以随机的改变样本在特征X处的值),再次计算它的袋外数据误差,记为errOOB2.3:假设随机森林中有Ntree棵树,那么转载 2016-06-16 10:07:17 · 2981 阅读 · 1 评论 -
Jackknife,Bootstraping, bagging, boosting, AdaBoosting, Rand forest 和 gradient boosting
Jackknife,Bootstraping, bagging, boosting, AdaBoosting, Rand forest 和 gradient boosting这些术语,我经常搞混淆,现在把它们放在一起,以示区别。(部分文字来自网络,由于是之前记的笔记,忘记来源了,特此向作者抱歉)Bootstraping: 名字来自成语“pull up by your own b转载 2016-06-16 09:30:07 · 444 阅读 · 0 评论 -
二叉树相关
下面是几个讲的比较好的二叉树网站,以后会找时间把第一个进行翻译:http://cslibrary.stanford.edu/110/BinaryTrees.htmlhttp://www.cprogramming.com/tutorial/lesson18.htmlhttp://math.hws.edu/eck/cs225/s03/binary_trees/原创 2016-06-08 10:31:29 · 548 阅读 · 0 评论 -
正则化方法:L1和L2 regularization、数据集扩增、dropout
正则化方法:防止过拟合,提高泛化能力在训练数据不够多时,或者overtraining时,常常会导致overfitting(过拟合)。其直观的表现如下图所示,随着训练过程的进行,模型复杂度增加,在training data上的error渐渐减小,但是在验证集上的error却反而渐渐增大——因为训练出来的网络过拟合了训练集,对训练集外的数据却不work。为了防止overfittin转载 2016-07-11 11:54:44 · 1305 阅读 · 0 评论 -
单分类
工程实践中使用过的单分类算法有one-class svm和svdd这两个效果都不错,但是one-class svm效果比svdd稍好,但是svdd的支持向量更少,这在实际中使用的话会获得更好的实时性。iforest,也是另一种单分类算法,但是还没有尝试过,不知道实际效果怎么样,有待尝试。原创 2016-06-03 08:45:52 · 4756 阅读 · 0 评论 -
用于求两个向量之间的距离
http://blog.csdn.net/shiwei408/article/details/7602324转载 2016-05-21 11:31:48 · 4315 阅读 · 0 评论 -
boosting算法
一、Boosting算法的发展历史 Boosting算法是一种把若干个分类器整合为一个分类器的方法,在boosting算法产生之前,还出现过两种比较重要的将多个分类器整合为一个分类器的方法,即boostrapping方法和bagging方法。我们先简要介绍一下bootstrapping方法和bagging方法。 1)bootstrapping方法的主要过程 主转载 2016-06-07 14:36:01 · 1192 阅读 · 0 评论 -
特征选择
可用做特征选择的算法有:1 遗传算法2 adaboost算法原创 2016-06-07 14:28:06 · 461 阅读 · 0 评论 -
优化求解记录
这篇博客会记录一些常用的优化求解的算法,包括讲解比较清晰的博客和一些自己的理解:牛顿法(拟牛顿法)优化求解极值:http://blog.csdn.net/luoleicn/article/details/6527049其中涉及到的hessian矩阵:http://baike.baidu.com/link?url=KJ3plmMCuZknDkLc0Hqp8hI9O55QJwSaWqwRavPT3原创 2016-08-02 10:09:59 · 514 阅读 · 0 评论 -
isolation forest算法思路与实现
网上看了下isolation forest,想自己实现,先把思路理清楚:1 isolation forest是由很多树组成,最后的结果是综合各个tree的结果,在这里叫itree2 在训练阶段,itree的训练如下(先给出一些符号及表示的意义:N代表训练数据的总个数,n代表从N个数据中无放回抽样得到的n个数据):a 对每个itree,用不同的n进行训练,在样本中,随机选一个特征(比如一个训练原创 2016-06-07 18:04:33 · 7719 阅读 · 0 评论 -
强化学习直观理解
转载自:http://www.36dsj.com/archives/51780 将这篇文章里面比较好理解的概念抽象出来,能够对强化学习有一个直观的认识强化学习其实也是机器学习的一个分支,但是它与我们常见的机器学习(比如监督学习supervised learning)不太一样。它讲究在一系列的情景之下,通过多步恰当的决策来达到一个目标,是一种序列多步决策的问题。举一个周志华老师在《机器学习》【8】中转载 2017-03-09 09:40:41 · 869 阅读 · 0 评论 -
牛顿法与拟牛顿法学习笔记(一)牛顿法
机器学习算法中经常碰到非线性优化问题,如 Sparse Filtering 算法,其主要工作在于求解一个非线性极小化问题。在具体实现中,大多调用的是成熟的软件包做支撑,其中最常用的一个算法是 L-BFGS。为了解这个算法的数学机理,这几天做了一些调研,现把学习过程中理解的一些东西整理出来。目录链接(1) 牛顿法(2) 拟牛顿条件(3转载 2017-10-19 10:33:31 · 629 阅读 · 0 评论 -
稀疏编码中的正交匹配追踪(OMP)与代码
最近在看有关匹配追踪与相关优化的文章,发现了这篇http://blog.csdn.net/scucj/article/details/7467955,感觉作者写得很不错,这里也再写写自己的理解。文中有Matlab的代码,为了方便以后的使用,我顺便写了一个C++版本的,方便与OpenCV配合。为了方便理解,我将所有向量都表示为平面二维向量,待用原子表征的目标向量y,用红色表示转载 2017-09-30 17:28:39 · 1170 阅读 · 0 评论 -
Training Neural Networks with Very Little Data -- A Draft径向变换
最近有一篇针对数据增强的文章比较有意思:这里只讲一下核心的代码实现以及实现细节,原文可以自行查阅: Training Neural Networks with Very Little Data – A Draft 文章的大概意思就是通过某种变换,将笛卡尔坐标系的图像通过坐标变换,变换成极坐标系下的图像,该变换直接通过下面的公式给出: 变换比较简单,公式也写的很清楚,根据公式实现的代码:from原创 2017-09-18 12:10:02 · 1762 阅读 · 7 评论 -
文章Super-Convergence记录
Super-Convergence: Very Fast Training of Residual Networks Using Large Learning Rates 在这篇文章中,作者针对现在训练较慢,超参数学习率比较难找,给出了自己的解决方案,周期学习率: 将学习率设置一个最大值,和最小值,在给出一个参数stepsize,两个stepsize为一个周期,在前半个stepsize内,学习率原创 2017-08-31 11:26:02 · 1579 阅读 · 0 评论 -
Joint Cascade Face Detection and Alignment流程
论文Joint Cascade Face Detection and Alignment记录前言 现在人脸检测用深度学习甩传统方法一大截,但是记录下这篇文章,主要是看看思想(看文章时间较短,只有一天,有些地方可能有误): 这篇文章,使用级联树,将分类与回归都完成,使用的是局部二值特征,local binary feature,计算简单,高效,最后得到结果也还可以,但是也存在一定的问题: 参数难原创 2017-08-24 17:40:07 · 1754 阅读 · 0 评论 -
最陌生的老朋友Softmax Loss
Softmax Loss Max Margin转载 2017-08-11 17:12:43 · 8439 阅读 · 0 评论 -
人工智能相关术语
# 人工智能相关术语(按首字母排序)缩写|英语|汉语-----|-----|----- |**A**| |Activation Function|激活函数 |Adversarial Networks|对抗网络 |Affine Layer|仿射层 |agent|代理/智能体 |algorithm|算法 |alpha-beta prun转载 2017-06-25 09:38:31 · 969 阅读 · 0 评论 -
ROC曲线及facenet中的使用
facenet roc原创 2017-05-24 10:05:09 · 4507 阅读 · 4 评论 -
Gradient boost adaboost简单区别
转载网址http://blog.csdn.net/shenbo2030/article/details/45115843http://blog.csdn.net/haidao2009/article/details/7514787一、 Gradient BoostingBoosting,迭代,即通过迭代多棵树来共同决策。这怎么实现呢?难道是每棵树独立训练转载 2017-03-27 10:09:26 · 6440 阅读 · 1 评论 -
谷歌工程师:聊一聊深度学习的weight initialization
转载自:http://www.toutiao.com/a6398066590973624577/?tt_from=weixin&utm_campaign=client_share&app=news_article&utm_source=weixin&iid=8721486139&utm_medium=toutiao_android&wxshare_count=1TLDR (or the tak转载 2017-03-17 08:53:03 · 899 阅读 · 0 评论 -
科普|一网打尽常用的机器学习的评价指标(附应用实例)
网址:http://www.toutiao.com/i6400587715754066434/?tt_from=weixin_moments&utm_campaign=client_share&from=timeline&app=news_article&utm_source=weixin_moments&iid=8721486139&utm_medium=toutiao_android&winz转载 2017-03-24 09:04:08 · 2161 阅读 · 0 评论 -
【TensorFlow】tf.nn.softmax_cross_entropy_with_logits的用法
转载网址:http://blog.csdn.net/mao_xiao_feng/article/details/53382790在计算loss的时候,最常见的一句话就是tf.nn.softmax_cross_entropy_with_logits,那么它到底是怎么做的呢?首先明确一点,loss是代价值,也就是我们要最小化的值tf.nn.softmax_cross_entropy转载 2017-03-29 16:29:52 · 1068 阅读 · 0 评论 -
不平衡数据下的机器学习方法简介
http://www.itongji.cn/cms/article/articledetails?articleid=3482&utm_source=tuicool&utm_medium=referral问题定义那么什么是不平衡数据呢?顾名思义即我们的数据集样本类别极不均衡,以二分类问题为例,假设我们的数据集是$S$,数据集中的多数类为$S_maj$,少数类为$S_转载 2017-03-27 10:24:35 · 4850 阅读 · 0 评论 -
最大似然估计
说的通俗一点啊,最大似然估计,就是利用已知的样本结果,反推最有可能(最大概率)导致这样结果的参数值。例如:一个麻袋里有白球与黑球,但是我不知道它们之间的比例,那我就有放回的抽取10次,结果我发现我抽到了8次黑球2次白球,我要求最有可能的黑白球之间的比例时,就采取最大似然估计法: 我假设我抽到黑球的概率为p,那得出8次黑球2次白球这个结果的概率为:P(黑=8)=p^8*(1-p)^2原创 2016-05-27 10:44:02 · 756 阅读 · 0 评论