
机器学习
我愛大泡泡
机器学习
情绪识别
展开
-
logistic回归和Python实现
一、Logistic Regression的基本内容通过学习了台湾的林教授和Stanford的课程后发现,他们两个人的基本思路虽然一致,但是具体做法有所差异,下面简单介绍一下两种实现方式。1、台湾的林教授方法 使用Logistic回归的思路是,我们不希望只给输出一个确定的{-1,+1}的结果,而是想给出一个概率值,这时就可以用到Logistic回归,得到概率的输出值在0~1之间原创 2016-05-31 13:36:11 · 4152 阅读 · 1 评论 -
最小二乘、最大似然和最大后验的简单总结
在真正了解一个机器学习算法的时候,发现有许多概念还是很模糊这里整理了最小二乘法(Least Square)、最大似然估计( Maximum Likelihood Estimation)和最大后验估计的关系。一、最小二乘法最小二乘法的本质就是找到一个估计值,使实际值与估计值的距离最小。而为了度量最小距离,只要使实际值与估计值之差的平方最小就好,下面就是最小二乘的表达式损失函数cost fun原创 2016-11-15 21:53:41 · 7468 阅读 · 0 评论 -
用Python进行数据可视化的10种方法
引言艺术之美根植于其所传达的信息。有时候,现实并非我们所看到或感知到的。达芬奇(Da Vinci)和毕加索(Picasso)等艺术家都通过其具有特定主题的非凡艺术品,试图让人们更加接近现实。数据科学家并不逊色于艺术家。他们用数据可视化的方式绘画,试图展现数据内隐藏的模式或表达对数据的见解。更有趣的是,一旦接触到任何可视化的内容、数据时,人类会有更强烈的知觉、认知和交流。在数据科学中,有转载 2017-03-21 00:17:24 · 23356 阅读 · 3 评论 -
小数据分析师学 Python 之 Seaborn(二):定量数据的线性模型(谁知道原文出处告诉我一下谢谢)
今天我开始切入了 Linear models with quantitative data 这一Tutorial, 让seaborn拼图增加了一块大大的领土.初识lmplot在之前讲解distribution分布一节中, 主要围绕的是单(双)样本间各自样本的形态, 或者是两个样本间的形态差异. 还未涉及到分析多个样本间的依赖关系. 后者需要借助于更复杂的工具来实现, 比如用线性函数来表达这转载 2017-03-21 16:14:31 · 6559 阅读 · 2 评论 -
干货:结合Scikit-learn介绍几种常用的特征选择方法 (文章实在找不到最原始出处了,个人感觉是kaggle上的大神写的)
作者: Edwin Jarvis特征选择(排序)对于数据科学家、机器学习从业者来说非常重要。好的特征选择能够提升模型的性能,更能帮助我们理解数据的特点、底层结构,这对进一步改善模型、算法都有着重要作用。特征选择主要有两个功能:减少特征数量、降维,使模型泛化能力更强,减少过拟合增强对特征和特征值之间的理解拿到数据集,一个特征选择方法,往往很难同时完成这两个目的。通常情况下,我转载 2017-03-16 22:46:32 · 5665 阅读 · 3 评论 -
深度学习清单
1、UFLDL完成基本的深度学习理论学习,这个UFLDL还是比较适合的既没有太过时,而且很多细节在做练习的时候能够掌握的很好,这个我自己写了的代码:见https://github.com/woaidapaopao/----UFLDL----2、李宏毅的深度学习课程链接在此:链接,这个因为是中文的,还是比较好懂的,而且一直在更新,很不错。就是台湾口音加英文听着有点别扭。其中,Mach原创 2017-05-08 11:29:18 · 1116 阅读 · 0 评论 -
常用的算法最好的讲解地址
主要是为了汇总讲的比较好的一些论文或博客。1、SVD分解和PCA降维等问题http://blog.youkuaiyun.com/zhongkejingwang/article/details/42264479(这个写的不错)http://www.cnblogs.com/LeftNotEasy/archive/2011/01/08/lda-and-pca-machine-learning.htm原创 2017-03-19 23:05:06 · 1998 阅读 · 0 评论 -
面试笔试整理3:深度学习机器学习面试问题准备(必会)
第一部分:深度学习1、CNN1、CNN问题 2、如何减少参数 权值共享、VGG的感受野、GoogLeNet的inception 3、激活函数选择 4、filter的尺寸选择 5、pooling的作用 6、常用的几个模型2、RNN1、RNN、LSTM、GRU 推导forget gate,input gate,cell state, hidden information原创 2017-09-07 01:13:54 · 74255 阅读 · 5 评论 -
面试笔试整理4:机器学习面试问题准备(进阶)
这部分主要是针对上面问题的一些更细节的补充,包括公式的推倒思路、模型的基本构成、细节问题的分析等等。一、问题杂烩1、PCA的第二主成分 第二个主成分时域第一成分方向正教的差异性次大方向。 2、什么时候用组合的学习模型 只有当各个模型之间没有相关性的时候组合起来是最好用的。但是一般来说,弱相关的模型组合比较好用。 3、多重共线性 多重共线性是指当两个特征的相关性很大的时候,会对原创 2017-09-07 16:35:20 · 6121 阅读 · 0 评论 -
面试笔试整理5:项目问题准备
自己曾经做过一些比赛,但是结果不是很好,不过还是准备写到简历里了,毕竟也算是自己做过的项目。 做了一些数据挖掘的比赛,面试会问到的常见问题其实也没有多少,无非是从数据预处理、特征和模型几个内容。以jd前一段时间的JData数据挖掘比赛为例。(1)应该对所有的数据进行大致的统计,了解数据的大致构成、数据缺失情况、不同表格中特征的大致分布情况哪些是离散特征哪些是连续特征,从而初步预估出那些信息和真实场原创 2017-09-07 21:37:26 · 2083 阅读 · 0 评论 -
决策树的一些东西,乱写的当个总结。
有两个非常开阔视野的文章:https://www.analyticsvidhya.com/blog/2016/04/complete-tutorial-tree-based-modeling-scratch-in-python/https://www.analyticsvidhya.com/blog/2013/10/trick-enhance-power-regression-model-原创 2017-03-19 12:48:59 · 593 阅读 · 0 评论 -
生成学习算法(Generative Learning):GDA(高斯判别)和Navie Bayes(朴素贝叶斯)(一)
是·原创 2016-10-31 19:14:43 · 1857 阅读 · 0 评论 -
线性回归总结及python实现
一、概念简述 下图是线性回归的模型函数,目的就是通过一系列的测试数据求出θ的值,来更好地拟合连续的数据。做法是最小化代价函数J(θ)(这里用的是平方误差),这里的代价函数在台湾的视频中指的是in-sample:Ein。这分为两种方式,一种是按照单个训练样本更新θ,采用梯度下降法和最小均方法(LMS),第二种是最小二乘法直接得到。 线性回归还有一个用途原创 2016-05-28 00:39:28 · 4845 阅读 · 1 评论 -
Regularization(规则化)和model selection以及Python实现
这次以非线性转换(Nonlinear Transformation)为例,分别通过对多项式次数的选择和regularization避免过拟合,还通过model selection来提高识别能力。(一)非线性模型原来的学习模型大多假设两个类别是线性可分的,所以找到了一条直线或一个线性空间平面可以将两个类别进行分类,但是一些情况下会出现线性不可分的情况。或者进行回归预测的过程中,不能用一条直线原创 2016-06-07 16:28:43 · 2264 阅读 · 0 评论 -
以logistic Regression为例实现多类别分类及Python实现
关于logistic 回归的内容,参照前面的文章,这里主要讲了多分类的方法和Python的实现,(一)多分类方法 1.第一种简单的方法是一对所有(one-Versus-All,OVA),给定m个类,训练m个二元分类器(将选取任意一类,再将其它所有类看成是一类,构建一个两类分类器)。分类器j使类j的元组为正类,其余为负类,进行训练。为了对未知元组X进行分类,分类器作为一个组合分类器投票原创 2016-06-05 17:20:20 · 23855 阅读 · 9 评论 -
SVM原理介绍与Python实现(二):SVM的推导过程
二、SVM的求解过程1、对问题的简单求解其实上一章中的结果,已经是一个可求解的问题了,因为现在的目标函数是二次的,约束条件是线性的,所以它是一个凸二次规划问题,只要通过现成的QP包就能解决这个二次规划问题。 2、求解方式转换由于这个结构具有特殊性,所以可以通过拉格朗日的对偶性( Lagrange Duality),将原问题转到对偶问题进行优化(两者等价)。 这样是有两个优点:一是对偶问题更容易求原创 2016-09-28 00:30:54 · 4156 阅读 · 2 评论 -
SVM原理介绍与Python实现(三):核函数的引出
三、核函数引出1、为什么要用核函数?我们上面其实通过解w和b已经得到了一个线性可分的分类器了,而且已经提到之所以用对偶形式求解就是因为对偶形式可以引入核函数解决线性不可分的情况。核函数解决线性不可分问题的原理就是将数据映射到高维的空间去,解决原始空间的线性不可分问题。举个例子:比如我们有一个一维的数据分布是如下图的样子,你想把它用一个直线来分开,你发现是不可能的,因为他原创 2016-09-28 11:51:07 · 5741 阅读 · 1 评论 -
SVM原理介绍与Python实现(四):利用规则化(regularization)处理不可分情况
四、规则化和不可分处理我们一直假设数据是可分的,不论是引入核函数前的线性可分SVM,还是利用核函数处理非线性数据,都是在可分的情况下。如果不是因为数据本身的非线性结构而是由噪声数据引起的偏离要怎么处理呢?怎么才能在不可分的情况下找到分割超平面呢?首先我们先看一下为什么离群点会对超平面造成很大的影响(个人感觉算是SVM的一个缺点)。假设下面这样一幅图(来自这里)。被圈起来的蓝色的点就原创 2016-09-28 22:46:37 · 2341 阅读 · 0 评论 -
SVM全系列:从原理到python实现(一):SVM原理
前言本文开始主要介绍一下SVM的分类原理以及SVM的数学导出和SVM在Python上的实现。借鉴了许多文章,会在后面一一指出,如果有什么不对的希望能指正。 一、 SVM简介首先看到SVM是在斯坦福的机器学习课程上,SVM是作为分类器在logisticregression的基础上引出的。其学习方法是把数据映射到一个高维空间上,使数据变稀疏,比较容易找到一个分割面来将数原创 2016-09-25 22:51:45 · 18545 阅读 · 4 评论 -
朴素贝叶斯的Python实现(二)
本文承接上文关于朴素贝叶斯模型的介绍,讲一下在python中的实现。这里要注意一点,我在看《机器学习实战》中发现,书中论述的模型有一些错误,混淆了多项式模型和伯努利模型,这里对其进行一些更正。一、对基本概念的进一步解释(1)为什么要使用拉普拉斯校准?要知道拉普拉斯平滑针对的是特征属性离散分布的情况下求先验条件概率。朴素贝叶斯分类是计算多个特征值的概率得到整个类别的概率,若某个特征值为0,则原创 2016-11-19 11:28:58 · 1653 阅读 · 0 评论 -
面试笔试整理7:SQL问题整理
SQL的问题就是四大类:增、删、改、查。要使用到的命令通常有:SELECT、UPDATE、DELETE、INSERT INTO、ALTER、DROP、IN、BETWEEN、DISTINCT、UNION、HAVING、WHERE、ON、EXISTS等等。 下面主要按照上面说的从建立表开始、到四大类、以及常用的结构和命令解释几个部分。这里语句都是基于SQL Server的。一、建立数据表 1、原创 2017-09-19 15:21:36 · 1739 阅读 · 0 评论