
机器学习/深度学习
文章平均质量分 95
机器学习/深度学习
迷雾总会解
我来,我见,我征服!
展开
-
Viterbi-Algorithm(维特比算法)
维特比算法是一个特殊但应用最广的动态规划算法。利用动态规划,可以解决任何一个图中的最短路径问题。而维特比算法是针对一个特殊的图-篱笆网了(Lattice)的有向图最短路径问题而提出来的。它之所以重要,是因为凡是使用隐马尔科夫模型描述的问题都可以用它解码,包括当前的数字通信、语音识别、机器翻译、拼音转汉字、分词等。原创 2021-01-28 18:41:27 · 8999 阅读 · 2 评论 -
详解DenseNet(密集连接的卷积网络)
在计算机视觉领域,卷积神经网络(CNN)已经成为最主流的方法,比如最近的GoogLenet,VGG-19,Incepetion等模型。CNN史上的一个里程碑事件是ResNet模型的出现,ResNet可以训练出更深的CNN模型,从而实现更高的准确度。ResNet模型的核心是通过建立前面层与后面层之间的“短路连接”(shortcuts,skip connection),这有助于训练过程中梯度的反向传播,从而能训练出更深的CNN网络。今天我们要介绍的是 DenseNet(Densely connected con原创 2020-12-31 16:12:04 · 61952 阅读 · 8 评论 -
详解ResNet(深度残差网络)
引言深度残差网络(Deep residual network, ResNet)的提出是CNN图像史上的一件里程碑事件,让我们先看一下ResNet在ILSVRC和COCO 2015上的战绩:ResNet取得了5项第一,并又一次刷新了CNN模型在ImageNet上的历史:ResNet的作者何凯明也因此摘得CVPR2016最佳论文奖,当然何博士的成就远不止于此,感兴趣的可以去搜一下他后来的辉煌战绩。那么ResNet为什么会有如此优异的表现呢?其实ResNet是解决了深度CNN模型难训练的问题,从图2中可原创 2020-12-30 21:41:41 · 6044 阅读 · 0 评论 -
L1,L2,Lp,L∞范数,曼哈顿距离,欧式距离,切比雪夫距离,闵可夫斯基距离以及损失函数和正则项的应用
什么是范数?在线性代数以及一些数学领域中,norm 的定义是a function that assigns a strictly positive length or size to each vector in a vector space, except for the zero vector. ——Wikipedia简单点说,一个向量的 norm 就是将该向量投影到 [0, ) 范围内的值,其中 0 值只有零向量的 norm 取到。看到这样的一个范围,相信大家就能想到其与现实中距离的类比原创 2020-12-20 14:22:44 · 28485 阅读 · 4 评论 -
torchvision的使用(transforms用法介绍)
介绍torchvision是pytorch的一个图形库,它服务于PyTorch深度学习框架的,主要用来构建计算机视觉模型。torchvision.transforms主要是用于常见的一些图形变换。以下是torchvision的构成:torchvision.datasets: 一些加载数据的函数及常用的数据集接口;torchvision.models: 包含常用的模型结构(含预训练模型),例如AlexNet、VGG、ResNet等;torchvision.transforms: 常用的图片变换,例如原创 2020-12-17 17:49:39 · 19628 阅读 · 3 评论 -
ERROR: No matching distribution found for torch==1.4.0 (from torchvision)
错误描述今天在安装torchvision出现了一个错误:解决方案一看就知道是版本的问题对吧。torchvision版本与torch版本不匹配。只要指定好版本就行。pip install --no-deps torchvision==0.5.0下面是cuda版本,Torch版本,Torchvision版本以及python版本的对应关系做了一个表,仅供大家参考...原创 2020-12-17 16:58:19 · 4895 阅读 · 1 评论 -
keras常用函数即说明
常用函数Densekeras.layers.Dense(units,activation=None,use_bias=True,kernel_initializer='glorot_uniform',bias_initializer='zeros',kernel_regularizer=None,bias_regularizer=None,activity_regularizer=None, kernel_constraint=None, bias_constraint=None)unit原创 2020-12-17 08:57:22 · 773 阅读 · 0 评论 -
HMM(隐马尔科夫模型)
隐马尔科夫模型(Hidden Markov Model,以下简称HMM)是比较经典的机器学习模型了,它在语言识别,自然语言处理,模式识别等领域得到广泛的应用。当然,随着目前深度学习的崛起,尤其是RNN,LSTM等神经网络序列模型的火热,HMM的地位有所下降。但是作为一个经典的模型,学习HMM的模型和对应算法,对我们解决问题建模的能力提高以及算法思路的拓展还是很好的。本文是HMM系列的第一篇,关注于HMM模型的基础。原创 2020-12-16 18:40:12 · 8822 阅读 · 0 评论 -
SVD原理和案例(奇异值分解)
奇异值分解(Singular Value Decomposition,以下简称SVD)是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域。是很多机器学习算法的基石。本文就对SVD的原理做一个总结,并讨论在在PCA降维算法中是如何运用运用SVD的。原创 2020-12-14 21:59:04 · 1705 阅读 · 0 评论 -
优化算法BGD、SGD、Momentum-SGD、Adagrad、AdaDelta、RMSProp、Adam算法及python实现
概述一般用一个通用框架来表述优化算法有如下定义:待优化的参数 θ目标函数 J ( θ )学习率 α有如下过程(每次迭代):计算目标关于此时参数的梯度 ∇ θ ( J ( θ ) )计算历史梯度的一阶动量和二阶动量计算下降梯度 g根据梯度进行迭代 θ = θ − g优化算法目前有固 定 学 习 率 和自 适 应 学 习 率 两种,差别也就体现在过程的第1和第2步固定学习率优化算法有:BGD、SGD、SGDM、NAG自适应学习率优化算法有:AdaGrad、AdaDelta、原创 2020-12-14 17:06:03 · 767 阅读 · 0 评论 -
多层感知机(MultiLayer Perceptron)以及反向传播算法(Backpropagation)
多层感知机:MLP多层感知机由感知机推广而来,最主要的特点是有多个神经元层,因此也叫深度神经网络(DNN: Deep Neural Networks)。感知机:PLA为了理解神经网络,我们应该先理解神经网络的组成单元——神经元,神经元也叫做感知机。感知器算法在上个世纪50-70年代很流行,也成功解决了很多问题,并且感知机算法也是非常简单的感知机有如下组成部分:输入权值:一个感知器可以接受多个输入(x1,x2,...xn)(x_1,x_2,...x_n)(x1,x2,...xn),每个输原创 2020-11-23 20:11:48 · 7224 阅读 · 1 评论 -
感知机,梯度下降,批量梯度下降法的详细介绍和案例分析
神经网络的组成单元——神经元,神经元也叫做感知机。在机器学习算法中,有时候需要对原始的模型构建损失函数,然后通过优化算法对损失函数进行优化,以便寻找到最优的参数,使得损失函数的值最小。而在求解机器学习参数的优化算法中,使用较多的就是基于梯度下降的优化算法(Gradient Descent, GD)。原创 2020-11-21 21:05:12 · 2447 阅读 · 0 评论 -
熵,信息增益,信息增益率,基尼指数(附案例)
熵(Entropy) 是度量样本集合纯度最常用的一种指标。ID3决策树算法就是利用信息增益作为划分数据集的一种方法。ID3的后继C4.5使用一种称为增益率(Gain Ratio) 的信息增益扩充。CART中采用基尼指数来进行特征选择。原创 2020-11-21 19:42:30 · 3072 阅读 · 5 评论 -
PCA(主成分分析)原理详解
PCA概念PCA(Principal Component Analysis),即主成分分析方法,是一种使用最广泛的数据降维算法。PCA的主要思想是将n维特征映射到k维上,这k维是全新的正交特征也被称为主成分,是在原有n维特征的基础上重新构造出来的k维特征。PCA的工作就是从原始的空间中顺序地找一组相互正交的坐标轴,新的坐标轴的选择与数据本身是密切相关的。其中,第一个新坐标轴选择是原始数据中方差最大的方向,第二个新坐标轴选取是与第一个坐标轴正交的平面中使得方差最大的,第三个轴是与第1,2个轴正交的平面中方差原创 2020-11-18 15:19:45 · 3836 阅读 · 0 评论 -
混淆矩阵介绍以及评价指标(准确率,精确率,召回率,特异度,假警报率,G-mean,F1_score,KS值)
混淆矩阵混淆矩阵(Confusion Matrix),可以理解为就是一张表格。混淆这个名字还是很有内涵的,咳咳。混淆矩阵是判断分类好坏程度的一种方法。另外还有ROC曲线和AUC曲线。以分类模型中最简单的二分类为例,对于这种问题,我们的模型最终需要判断样本的结果是0还是1,或者说是positive还是negative。我们通过样本的采集,能够直接知道真实情况下,哪些数据结果是positive,哪些结果是negative。同时,我们通过用样本数据跑出分类型模型的结果,也可以知道模型认为这些数据哪些是p原创 2020-11-14 10:28:30 · 14165 阅读 · 2 评论 -
吴恩达机器学习课程相关资料
视频课件资料???? 点击下载黄海广博士整理提供的资料知乎github机器学习笔记目录在线阅读机器学习作业视频(部分) ???? https://space.bilibili.com/49109393/video课后习题及代码coursera中Andrew Ng的meachine learning的所有编程测验的原文件90题细品吴恩达《机器学习》,感受被刷题支配的恐惧吴恩达(机器学习)专栏吴恩达机器学习作业(原版无答案+有答案两个版本)学习作业其它同学的学习笔记等M原创 2020-08-22 23:09:09 · 346 阅读 · 0 评论