![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
文章平均质量分 96
AI蜗牛之家
北航烟酒僧~ 百度、腾讯自然语言处理算法工程师~
展开
-
深度学习被你忽略的细节系列篇——Softmax、LogSumExp和Sigmoid
平时我们基本用pytorch或者tensorflow框架时,基本对特别底层的函数实现关注不多,仅限于知道公式的原理。但是很多大佬往往自己会实现一些源码,在看这些源码时,经常出现各种有点难以理解的代码,本来很简单的东西,莫名其妙的各种转换,化简完之后可能感觉是一样的,这么费劲周折的折腾啥?殊不知还是对底层的实现原理了解少了,虽然有些源码不需要我们从底层造轮子(完全从底层造轮子也影响效率),但是能理解其原理在我们debug以及看一些源码时不至于太多疑惑(毕竟国外很多大佬都喜欢实现一些底层utils)。原创 2023-03-02 15:58:11 · 798 阅读 · 0 评论 -
排序之指标集锦(系列1)
一 、MAP(Mean Average Precision):单个主题的平均准确率是每篇相关文档检索出后的准确率的平均值。主集合的平均准确率(MAP)是每个主题的平均准确率的平均值。MAP 是反映系统在全部相关文档上性能的单值指标。系统检索出来的相关文档越靠前(rank 越高),MAP就可能越高。如果系统没有返回相关文档,则准确率默认为0。只有1和0,1代表相关,0代表不相关。例如:假设有两个主题,主题1有4个相关网页,主题2有5个相关网页。某系统对于主题1检索出4个相关网页,其rank分别为1, 2原创 2021-08-22 22:56:57 · 1084 阅读 · 0 评论 -
数据分析之pandas
数据导入pd.read_csv(filename):从CSV文件导入数据pd.read_table(filename):从限定分隔符的文本文件导入数据pd.read_excel(filename):从Excel文件导入数据pd.read_sql(query, connection_object):从SQL表/库导入数据pd.read_json(json_string):从JSON格式的字符串导入数据pd.read_html(url):解析URL、字符串或者HTML文件pd.read_clip原创 2021-02-08 17:52:51 · 438 阅读 · 0 评论 -
梯度下降与优化方法(SGD & Momentum & AdaGrad & RMSProp & Adam)
SGDSGD指stochastic gradient descent,即随机梯度下降。是梯度下降的batch版本。对于训练数据集,我们首先将其分成n个batch,每个batch包含m个样本。我们每次更新都利用一个batch的数据,而非整个训练集。即: xt+1=xt+Δxtxt+1=xt+Δxtx_{t+1}=x_{t}+\Delta x_{t}Δxt=−ηgtΔxt=−η...原创 2018-01-28 15:10:09 · 1422 阅读 · 0 评论 -
tensorflow 入门
先说两句题外话: (1)安装某个版本的tensorflow的pip命令是pip install tensorflow==1.4.0 (这里用1.4.0作为例子) (2)GPU版tensorflow安装:参考链接1 参考链接2 官方教程 在安装时会有几个坑: 注意cudnn的版本要与cuda相匹配 tensorflow的版本号又要与cudnn相匹配,要...原创 2018-01-26 22:11:03 · 782 阅读 · 0 评论 -
梯度下降(斯坦福machine learning week 10)
这对于现代的数据集其实是很现实的。比如对于美国的人口普查数据集来说美国有3亿人口,我们通常都能得到上亿条的数据。 如果我们看一下很受欢迎的网站的浏览量,我们也很容易得到上亿条的记录。 假设我们要训练一个线性回归模型或者是逻辑回归模型,这是梯度下降的规则: 当你在计算梯度下降的时候,这里的m是一个上亿的值时,你需要通过计算上亿个数的导数项的和来计算仅仅一步的梯度下降。原创 2017-12-10 00:29:58 · 1186 阅读 · 0 评论 -
ML&DL必备之numpy & matplotlib
在学习machine learing 和Deep learning的时候不免会有一些数据的操作,科学计算和一些矩阵的操作需要用到numpy,而如果想可视化的时候,比如效果展示和调参的时候就需要画图,所以我们plot的的时候就需要用到一个很强大的包,叫matplotlib,今天对这两个包展开说明,都时经常用到的一些简单的操作!numpy集锦属性array = np.array([[原创 2018-01-26 22:16:59 · 573 阅读 · 0 评论 -
windows10 64bit Theano+GPU加速
需要用到theano框架,安装之后发现速度太慢,本子虽然有点差,但是独显还是有的,所以通过GPU加速差不多能BICPU加速在10倍左右,整个环境来来去去用了一天的时间,主要原因还是没有系统教程,各种问题。。。1 需要的环境和版本我的安装环境是win10 anacoda3(>下载< | >教程<) MinGW Theano vs2013 cuda2 安装步骤安装anacod原创 2017-12-29 21:24:24 · 1920 阅读 · 0 评论 -
协同过滤(斯坦福machine learning week 9)
1 推荐系统 问题表述以预测电影评分这个时兴的问题为例,假想你是一个销售或出租电影的网站,你让用户使用1至5颗星 给不同的电影评分: 假设下面的表格是几个用户针对五部电影给出的评分。其中”?”代表用户没有给出评分: 电影 Alice(1) Bob(2) Carol(3) Dave(4) 《爱到最后》 5 5 0 0 《浪漫永远原创 2017-12-09 16:46:41 · 430 阅读 · 0 评论 -
聚类之高斯混合模型(Gaussian Mixture Model)
k-means应该是原来级别的聚类方法了,这整理下一个使用后验概率准确评测其精度的方法—高斯混合模型。我们谈到了用 k-means 进行聚类的方法,这次我们来说一下另一个很流行的算法:Gaussian Mixture Model (GMM)。事实上,GMM 和 k-means 很像,不过 GMM 是学习出一些概率密度函数来(所以 GMM 除了用在 clustering 上之外,还经常被用于 dens转载 2018-01-04 13:59:21 · 48445 阅读 · 14 评论 -
分类问题的评估(二分类&多分类)
召回率、准确率、F值对于二分类问题,可将样例根据其真实类别和分类器预测类别划分为:真正例(True Positive,TP):真实类别为正例,预测类别为正例。 假正例(False Positive,FP):真实类别为负例,预测类别为正例。 假负例(False Negative,FN):真实类别为正例,预测类别为负例。 真负例(True Negative,TN):真实类别为负例,预测类...原创 2018-06-02 09:19:10 · 18897 阅读 · 1 评论 -
fastText(更新中...)
http://www.52nlp.cn/fasttextnlp中的卷积神经网络分类问题(更新中…) 当谈到nlp相关处理模型的时候,可能你会随口说出多个模型,但是这些模型都离不开基础的“配件”,那就是RNN、LSTM、GRU,但是对于很多问题,原来用于图像处理的CNN表现效果却不凡,比如在一般的分类问题中,如果不添加attention等自然语言处理方式,CNN的效果甚至要比RNN家族要好一些...原创 2018-06-09 20:30:05 · 512 阅读 · 0 评论 -
深度模型之激活函数以及Initializer
文章目录1.为什么要激活函数2.常见激活函数2.1.sigmoid激活函数2.2.tanh激活函数2.3.Relu激活函数2.4.PRelu2.4.1.RRelu2.4.2.Leaky ReLU2.5.elu激活函数2.6.Gelu激活函数2.7.Maxout 激活函数1.为什么要激活函数举个例子,首先我们有这个需求,就是二分类问题,如我要将下面的三角形和圆形点进行正确的分类,如下图:利用我...原创 2019-01-25 22:21:40 · 1559 阅读 · 4 评论 -
优化器算法optimizer
文章目录1.相关背景1.1.指数加权移动平均(Exponential Weighted Moving Average)1.1.1.演化与概述1.1.2.公式理解1.1.3.EMA 偏差修正1.1.4.EMA 在 Momentum 优化算法中应用的理解2.递归下降算法2.1.BGD MBGD SGD2.2.Momentum2.3.Nesterov Accelerated Gradient2.4 Ad...原创 2019-03-27 16:02:04 · 2355 阅读 · 0 评论 -
从最大似然到EM算法浅解
这是我见过的讲解EM算法最详细的文章,没有之一,本博末尾处有出处机器学习十大算法之一:EM算法。能评得上十大之一,让人听起来觉得挺NB的。什么是NB啊,我们一般说某个人很NB,是因为他能解决一些别人解决不了的问题。神为什么是神,因为神能做很多人做不了的事。那么EM算法能解决什么问题呢?或者说EM算法是因为什么而来到这个世界上,还吸引了那么多世人的目光。 我希望自己能通俗地把它理解或者转载 2018-01-03 09:35:07 · 1236 阅读 · 0 评论 -
浅谈生成式模型和判别式模型
生成式模型(Generative Model)与判别式模型(Discrimitive Model)是分类器常遇到的概念,它们的区别在于: 对于输入x,类别标签y:产生式模型估计它们的联合概率分布P(x,y)判别式模型估计条件概率分布P(y|x)产生式模型可以根据贝叶斯公式得到判别式模型,但反过来不行。详细比较: 参考网址:参考一转载 2018-01-03 11:08:58 · 814 阅读 · 0 评论 -
卷积神经网络检测脸部关键点-theano
前段时间做了一个kaggle上的一个很早的小项目,就是检测脸部关键点,Python环境好弄,但是当时为了速度用CPU加速,搞了将近一天(相关教程),其实详细流程也是根据一个相关教程上面的。防止丢失,把代码分享出来。I. 介绍卷积神将网络监测脸部关键点项目是是一个由Kaggle发起的在线比赛题目。该项目给出相关脸部96*96像素的人脸图片,目的是监测出人脸识别中最关键的15个点(也就是x、y共30个输原创 2018-01-11 20:42:37 · 1503 阅读 · 0 评论 -
评价一个学习算法(斯坦福machine learning week 6)
1. 评价一个学习算法1.1 如何少走弯路?1.2 机器学习诊断法引入1.2.1 背景当我们确定学习算法的参数的时候,我们考虑的是选择参量来使训练误差最小化。有人认为,得到一个非常小的训练误差一定是一件好事,但我们已经知道,仅仅是因为这个假设具有很小的训练误差并不能说明它就一定是一个好的假设函数,而且我们也学习了过拟合假设函数的例子。所以这推广到新的训练集上是不适用的。那么,你该如何判断一个假设函数原创 2017-11-15 19:14:57 · 872 阅读 · 0 评论 -
机器学习系统设计之垃圾邮箱(斯坦福machine learning week 6)
本节通过垃圾邮件分类问题对系统学习系统设计展开描述。 下面分别是垃圾邮件和正常邮件: 1. 考虑哪些方法会起作用1.1 提取特征向量x=features of email (邮件的特征)x=features of email (邮件的特征) y=spam(1) or not spam(0) (是否为垃圾邮件:1是、0否) 这里有一种选择邮件的一些特征变量的方法,比如说我们可能会想出一系列单原创 2017-11-17 17:44:21 · 4475 阅读 · 0 评论 -
svm之大间距分类(斯坦福machine learning week 7)
1 构建支持向量机拥有了这些定义之后,现在我们就开始构建支持向量机。1.1 替换逻辑回归函数这就是我们在逻辑回归中使用的代价函数J(θ): J(θ)=−1m∑i=1m[y(i)&amp;nbsp;log(hθ(x(i)))+(1−y(i))&amp;nbsp;log(1−hθ(x(i)))]+λ2m∑j=1nθ2jJ(θ)=−1m∑i=1m[y(i)&amp;nbsp;log(hθ(x(i)))+...原创 2017-11-27 21:35:27 · 840 阅读 · 0 评论 -
svm之核函数(斯坦福machine learning week 7)
1. 核函数 I首先让我们来看看第一个标记: f1=similarity(x,l(1))=exp(−||x−l(1)||22σ2)=exp(−∑nj=1(xj−l(1)j)22σ2)\begin{align*} f_1&=similarity(x,l^{(1)}) =exp(-\frac{||x-l^{(1)}||^2}{2σ^2}) =exp(-\frac{\sum_{j=1}^{n}(x_j-原创 2017-11-28 11:50:45 · 1266 阅读 · 0 评论 -
svm之使用SVM(斯坦福machine learning week 7)
支持向量机是一个特定的优化问题,但是我不建议你自己去手动实现这一算法来求解参数θ这里推荐两个我最常用到的库:liblinear和libsvm。尽管你不需要自己去实现SVM,但你也需要做以下几件事:选择参数CC选择核函数(相似度函数)1 核函数的选择1.1 线性核函数(无核函数)当你的特征数量n很大,但数据量m很小时,由于数据量不足,在这种情况下如果使用其他核函数,你可能会过拟合,因此,此时线性原创 2017-11-28 12:48:51 · 902 阅读 · 0 评论 -
聚类(斯坦福machine learning week 8)
1 用途图1是细分市场,将所有用户划分至不同的细分市场组,以便于营销或服务。图2是社交分析体系,比如在社交网络中观察一群人,看他们和谁有电子邮件来往,或者查找一群相互有联系的人。图3是用聚类来组织运算集群或组织数据中心,因为,如果你知道在集群中,哪些计算机的数据中心倾向于一起工作,你可以用它重新组织你的资源,网络的布局,以及数据中心和通信。图4是使用聚类算法来试图理解星系的形成,和其中的天文原创 2017-11-29 20:28:17 · 733 阅读 · 0 评论 -
主成分分析PCA之协方差矩阵的理解
参考原博:http://blog.csdn.net/itplus/article/details/11452743转载 2017-11-30 09:58:04 · 2674 阅读 · 0 评论 -
降维(斯坦福machine learning week 8)
1 目的 如果你有上百或者上千的特征变量,很容易就会忘记你到底有什么特征变量,而且有时候可能有几个不同的工程师团队。一队工程师可能给你200个特征变量,第二队工程师可能再给你300个特征变量,然后第三队工程师给你500个特征变量。所以你一共有1000个特征变量,这样就很难搞清哪个队给了你什么特征变量。实际上得到这样冗余的特征变量并不难。假设我们不知道这两个特征量。其中x1是某个物体的长度,以原创 2017-11-30 13:25:15 · 1144 阅读 · 0 评论 -
神经网络(斯坦福machine learning week 5)
1 代价函数和逆向回归1.1Cost FunctionLet’s first define a few variables that we will need to use:L = total number of layers in the network sl = number of units (not counting bias unit) in layer l K = number o原创 2017-11-14 20:37:46 · 918 阅读 · 0 评论 -
Machine Learning Stanford (week 3)
ClassificationTo attempt classification, one method is to use linear regression and map all predictions greater than 0.5 as a 1 and all less than 0.5 as a 0. However, this method doesn’t work well beca原创 2017-11-05 18:08:47 · 1456 阅读 · 0 评论 -
线性回归之特征归一化、步长选择、特征组合
针对ng上的线性回归课程,几个技巧性的方法,现整理如下: 在求解线性回归的模型时,有三个需要注意的问题一就是特征组合问题,比如房子的长和宽作为两个特征参与模型的构造,不如把其相乘得到面积然后作为一个特征来进行求解,这样在特征选择上就做了减少维度的工作。这个是多项式回归(Polynomial Regression)里面的一个重点问题。二就是特征归一化(Feature Scaling),这也是许多机器原创 2017-10-27 23:29:19 · 3913 阅读 · 0 评论 -
snownlp入门
昨晚上发现了snownlp这个库,很开心。先说说我开心的原因。我本科毕业设计做的是文本挖掘,用R语言做的,发现R语言对文本处理特别不友好,没有很多强大的库,特别是针对中文文本的,加上那时候还没有学机器学习算法。所以很头疼,后来不得已用了一个可视化的软件RostCM,但是一般可视化软件最大的缺点是无法调参,很死板,准确率并不高。现在研一,机器学习算法学完以后,又想起来要继续学习文本挖掘了。所以前半个月转载 2017-12-18 11:59:30 · 6648 阅读 · 0 评论 -
神经网络反向传播(相关公式)
看了网上的帖子,写的很好,不过我还是想自己整理下,有的地方原来的博主还是有点散了,不过建议先看原博,然后在按照如下思路展开,不然可能有点跳跃。 自己认为下面的思路还是很清晰的,编辑公式就花了我好长时间啊。。。正向传播是为了计算net out的值 反向传播 (1)隐含层—-&gt;输出层∂Etotal∂W5=∂Etotal∂outo1∗∂outo1∂neto1∗∂neto1∂w5=δo1∗∂neto1原创 2017-11-12 20:22:03 · 844 阅读 · 0 评论 -
nlp Python库之pynlpir
项目需要,需要分词外加情感分析,网上的很多直接用的情感分析不适合本项目,因此需要修改情感词典从而加以修正。本次使用的就是pynlpir进行分词,然后情感分析逻辑自己搞。 先跑几个小demo,可以试一试效果 相关简短介绍: NLPIR分詞系統前身為2000年發布的ICTCLAS詞法分析系統,從2009年開始,為了和以前工作進行大的區隔,並推廣NLPIR自然語言處理與信息檢索共享平臺,調整命名為N原创 2017-12-02 20:34:47 · 2253 阅读 · 0 评论 -
机器学习应用实例(照片OCR)(斯坦福machine learning week 11)
NG说: 我想介绍这部分内容的原因主要有以下三个: 第一,我想向你展示一个复杂的机器学习系统是如何被组合起来的。 第二,我想介绍一下机器学习流水线(machine learning pipeline)的有关概念以及在决定下一步做什么时如何分配资源。 最后,我也想通过介绍照片OCR问题的机会来告诉你机器学习的诸多有意思的想法和理念。其中之一是如何将机器学习应用到计算机视觉问题中,原创 2017-12-10 17:51:01 · 4033 阅读 · 0 评论 -
在线学习&Map Reduce(斯坦福machine learning week 10)
1 在线学习 在本节,我将会讨论一种新的大规模的机器学习机制,叫做在线学习机制。在拥有连续一波数据或连续的数据流涌进来,而我们又需要一个算法来从中学习的时候来模型化问题时,我们就需要用到在线学习机制。 特别要提及的是,如果你有一个由连续的用户流引发的连续的数据流,用户流进入你的网站,你能做的是使用一个在线学习机制,从数据流中学习用户的偏好,然后使用这些信息,来优化一些关于网站的决策。1.原创 2017-12-10 17:01:21 · 653 阅读 · 0 评论 -
多元高斯分布(斯坦福machine learning week 9)
1 背景之前的异常检测算法,其实是以中心区域向外以正圆的形式扩散的。也就是说距离中心区域距离相等的点,对应的p(x)都是一样的,所以我们可能无法检测到这一个异常样本,因为它也处在一个p(x)比较大的范围内: 之前的也就是圆形的范围,但是我们现在将要说的是蓝色的范围,很明显多元高斯分布处理了原来模型不能表示的问题2 多元高斯分布改良异常检测算法多元高斯分布的参数包括向量µ和一个n×n的矩阵Σ。µ原创 2017-12-09 14:18:25 · 868 阅读 · 0 评论 -
Machine Learning Stanford (week 1)
Model RepresentationTo establish notation for future use, we’ll use x(i) to denote the “input” variables (living area in this example), also called input features, and y(i) to denote the “output” or ta原创 2017-10-22 18:49:51 · 1024 阅读 · 5 评论 -
Machine Learning Stanford (week 2)
1. Multivariate Linear Regression1.1 Multiple FeaturesNote: [7:25 - θT is a 1 by (n+1) matrix and not an (n+1) by 1 matrix] Linear regression with multiple variables is also known as “multivariate lin原创 2017-10-27 22:30:49 · 790 阅读 · 0 评论 -
异常检测(斯坦福machine learning week 9)
在接下来的一系列课程中,我将向大家介绍异常检测(Anomaly detection)问题。这是机器学习算法的一个常见应用。这种算法的一个有趣之处在于它虽然主要用于非监督学习问题,但从某些角度看,它又类似于一些监督学习问题。1 定义异常检测问题更正式一些的定义如下:假设我们有m个正常的样本数据{x(1),x(2),…,x(m)}{x^{(1)},x^{(2)},…,x^{(m)}},我们需要一个算法原创 2017-12-07 13:12:50 · 783 阅读 · 0 评论