机器学习
文章平均质量分 85
DASEason
https://github.com/qq547276542
展开
-
逻辑回归python实现(随机增量梯度下降,变步长)
关于逻辑回归的学习,建议大家看看这篇blog,讲的很清楚:点击打开链接逻辑回归,实际上就是对线性回归多增加了一个函数映射,使其值域由无穷区间映射到[0,1]区间在线性回归中,估计函数为 其中delta是参数向量,x是输入样本的特征向量而在逻辑回归中,估计函数实际上就是在线性回归的基础上,嵌套了一个sigmoid函数。逻辑回归的估计函数为 其中,e的指数部分就是线性回归的输原创 2017-04-25 10:26:30 · 6022 阅读 · 1 评论 -
NLP中基本概念入门
词向量(Word Embedding) 词向量主要用于将自然语言中的词符号数学化,这样才能作为机器学习问题的输入。 数学化表示词的方式很多,最简单的有独热编码,即“足球”=[0,0,1,0,0,0,0,…],“篮球”=[0,0,0,0,0,1,0,…],向量的长度为总词数。显然,独热编码有以下缺点:1.可能导致维数过大,对深度学习来说复杂度过高。2.两个词的相似程度无法表示。 词向量与独热编码原创 2017-10-18 16:29:44 · 6376 阅读 · 0 评论 -
朴素贝叶斯分类文本 python实现
朴素贝叶斯(naive bayes)模型主要用于文本分类,比如要将邮件分类为正常邮件和带侮辱性词汇邮件对于一封邮件来说其特征可以表示为该邮件中单词出现的情况。比如我们有一个5000个词的词典表,那么邮件的特征可表示成一个特征向量,特征向量的维数等于词典表的单词个数,特征向量每一维的取值空间为0或1(即这个单词是否出现)对于p(x|y),在某一组样本中:p(x1x2...x5000|原创 2017-04-27 22:10:05 · 9152 阅读 · 5 评论 -
机器学习中常见概念的区别与联系
欠拟合与过拟合L1正则化和L2正则化分类和回归偏差和方差监督学习和无监督学习分类和聚类判别模型和生成模型归一化与标准化协方差和相关系数原创 2017-09-07 16:33:21 · 4295 阅读 · 0 评论 -
随机森林算法学习(RandomForest)
随机森林算法学习最近在做kaggle的时候,发现随机森林这个算法在分类问题上效果十分的好,大多数情况下效果远要比svm,log回归,knn等算法效果好。因此想琢磨琢磨这个算法的原理。要学随机森林,首先先简单介绍一下集成学习方法和决策树算法。下文仅对该两种方法做简单介绍(具体学习推荐看统计学习方法的第5章和第8章)。Bagging和Boosting的概念与区别该部分主要学习自:http://www.c原创 2017-10-21 16:24:37 · 161406 阅读 · 12 评论 -
近端梯度法(Proximal Gradient Method, PG)
近端梯度法(Proximal Gradient Method ,PG)算法简介 近端梯度法是一种特殊的梯度下降方法,主要用于求解目标函数不可微的最优化问题。如果目标函数在某些点是不可微的,那么该点的梯度无法求解,传统的梯度下降法也就无法使用。PG算法的思想是,使用临近算子作为近似梯度,进行梯度下降。概念定义临近算子(proximity operator)proxf(x)=argminy∈Rnf(y原创 2017-10-16 17:10:21 · 31912 阅读 · 1 评论 -
解决fasttext内存不足无法读取模型的问题
fasttext是个好东西,是由facebook在2016年推出的一个训练词向量的模型。相比于之前Google的word2vec,fasttext可以解决out of vocabulary的问题。更赞的是,facebook提供了200多种语言的预训练模型和词向量。 然而,在安装完fasttext后,当我读取了3GB的中文模型时,却出了下面的问题:Traceback (most recent cal原创 2017-12-15 21:56:13 · 6171 阅读 · 1 评论 -
农业领域的知识图谱构建(Agriculture_KnowledgeGraph)
Agriculture_KnowledgeGraphdemo:http://ecnukg.vicp.io github:https://github.com/qq547276542/Agriculture_KnowledgeGraph 欢迎star&fork~命名实体识别进入主页面,输入文本,即可看到以下命名实体和分词的结果(确保django和neo4j都处于开启状态)...原创 2019-11-29 20:32:48 · 23127 阅读 · 13 评论 -
与信息熵相关的概念梳理(条件熵/互信息/相对熵/交叉熵)
香农信息量信息量表示不确定性的大小。 信息量的单位是比特(bit)。香农信息量=log1p=−logp(以2为底)香农信息量=\log\frac{1}{p}=-\log p\quad(以2为底)上式中,p越小,则不确定性越大,包含的信息量就越多。比如32支球队,在无任何先验信息的前提下,用二分法猜冠军队伍,最多猜5次,那么信息量就是log132=5\log \frac{1}{32}=5。信息熵(En原创 2019-11-29 20:29:07 · 5709 阅读 · 1 评论 -
共轭梯度法的推导与完整算法
共轭梯度法学习自知乎:https://www.zhihu.com/question/27157047和非线性规划课程简介在数值线性代数中,共轭梯度法是一种求解对称正定线性方程组Ax=b的迭代方法。事实上,求解Ax=b等价于求解: min||Ax−b||22min||Ax-b||_2^2 ,将其展开后可以得到:minxTATAx−bTAx+bTbmin \quad x^TA^TAx-b^TAx+b^T原创 2019-11-29 20:28:07 · 41862 阅读 · 10 评论 -
插值与拟合简介
插值与拟合简介1.插值方法1.1 拉格朗日(Lagrange)多项式插值 最基本,求一个至多n次多项式φn(x)=a0+a1x+...+anxn\varphi_n(x)=a_0+a_1x+...+a_nx^n,使其在给定点处与f(x)同值,即满足插值条件φn(xi)=f(xi)=yi(i=0,1,…,n)\varphi_n(x_i)=f(x_i)=y_i \quad(i=0,1,…,n)。原创 2017-09-01 15:35:24 · 14121 阅读 · 2 评论 -
Kaggle入门模板:以手写识别Digit Recognizer为例
首先本文参考了点击打开链接 这篇博客,然后可能时间有点久远,Kaggle的这道题给的数据文档和之前的不一样了,以及还有一些注意点这篇文章里没有突出。因此这里重新做个总结,希望大家能早点入个门。这里我使用的sklearn中的支持向量机来解决手写识别问题。这里的svm是可以解决多分类问题的。核函数使用的是高斯核(rbf),松弛变量c选择的是5.kaggle这道题一共提供了3个文件:train.原创 2017-07-05 10:24:03 · 3430 阅读 · 0 评论 -
浅析机器学习中的模型选择与调参(cross validation + grid search)
对于一个预测问题,同时有多种可用的模型,每种模型有多种可用的参数。如何选择一个最合适的模型?总题过程分为2个部分:1.对于一个模型,如何评估该模型在特定问题上的好坏?2.选择了最好的模型后,如何选择最优的参数? 对于模型的评估,我们一般使用交叉验证(cross validation)来进行评估。 在这里我们使用了k折叠法,将训练集划分为相等的k份。然后从1原创 2017-07-20 09:59:58 · 11474 阅读 · 2 评论 -
遗传算法解决TSP问题(c++实现)
遗传算法遗传算法简介 遗传算法(Genetic Algorithms,简称 GA)是一种基于自然选择原理和自然遗传机制的搜索(寻优)算法,它是模拟自然界中的生命进化机制,在人工系统中实现特定目标的优化。遗传算法的实质是通过群体搜索技术,根据适者生存的原则逐代进化,最终得到最优解或准最优解。它必须做以下操作:初始群体的产生、求每一个体的适应度、根据适者生存的原则选择优良个体、被选出的优良个体两两配对原创 2017-09-02 22:25:45 · 25247 阅读 · 7 评论 -
模拟退火算法(c++实现)
模拟退火算法算法简介 模拟退火算法得益于材料的统计力学的研究成果。统计力学表明材料中粒子的不同结构对应于粒子的不同能量水平。在高温条件下,粒子的能量较高,可以自由运动和重新排列。在低温条件下,粒子能量较低。如果从高温开始,非常缓慢地降温(这个过程被称为退火),粒子就可以在每个温度下达到热平衡。当系统完全被冷却时,最终形成处于低能状态的晶体。 假定我们要解决的问题是一个寻找最小值的优化问题。将物理原创 2017-09-02 13:46:47 · 18591 阅读 · 4 评论 -
浅析机器学习中各种损失函数及其含义
常见的损失函数1.0-1损失函数(0-1 loss function)L(Y,f(X))={1,Y≠f(X)0,Y=f(X)L(Y,f(X))=\left\{ \begin{aligned}&1,\quad Y\ne f(X)\\& 0,\quad Y=f(X) \end{aligned} \right. 可以看出,该损失函数的意义就是,当预测错误时,损失函数值为1,预测正确时,损失函数值为0原创 2017-09-14 14:29:15 · 29188 阅读 · 0 评论 -
从牛顿法到L-BFGS的算法演变
前言(本文主要学习自该博主的文章:http://blog.csdn.net/itplus,以下是本人的笔记,主要记录了结论部分,省略了推导的部分。对具体推导过程有兴趣的同学请访问原博主的博客~) 拟牛顿法是求解非线性优化问题最有效的方法之一,其中DFP方法,BFGS方法以及L-BFGS方法都是重要的拟牛顿法。我们现在考虑如下无约束的极小化问题: >minxf(x),其中x=(x1,x2原创 2017-09-10 09:12:22 · 4281 阅读 · 0 评论 -
最优化问题基础框架学习
局部最优的充分和必要条件∇f(x∗)=0,∇2f(x∗)≻0(Hessian矩阵正定)⇒x∗为局部最优点\nabla f(x^*)=0, \quad \nabla^2 f(x^*)\succ 0 (Hessian矩阵正定) \quad \Rightarrow \quad x^*为局部最优点x∗为局部最优点⇒∇f(x∗)=0,∇2f(x∗)⪰0(Hessian矩阵半正定)x^*为局部最优点\qu原创 2017-09-26 17:00:49 · 2759 阅读 · 0 评论 -
Tensorflow 利用高阶API Estimater.predict 实现实时预测,避免reload计算图
Estimater.predict是tensorflow的高阶API,但是在使用中常常会遇到如下情况: 单次预测一个大文件的速度正常,但是想做成接口来实时预测速度却缓慢:因为每次预测都会重新reload一遍计算图。那么这个问题是否有解呢?答案:yes。可以在Estimater的层面,实现tensorflow Estimater.predict 的实时预测,将计算图只读取一遍后常驻内存(这里吐槽一...原创 2018-12-18 21:22:43 · 13505 阅读 · 29 评论