机器学习基础
麦才坚
这个作者很懒,什么都没留下…
展开
-
随机梯度下降算法
随机梯度的下降算法:(类似补偿算法)算法实现如下:package tideimport scala.collection.mutableobject SGD{ val data=mutable.HashMap[Int,Int]() def getdata():mutable.HashMap[Int,Int]={ //生成数据集,数原创 2018-01-23 21:15:50 · 416 阅读 · 0 评论 -
AdaBoost
参开资料:http://blog.csdn.net/haidao2009/article/details/7514787更多挖掘算法:https://github.com/linyiqun/DataMiningAlgorithm介绍在介绍AdaBoost算法之前,需要了解一个类似的算法,装袋算法(bagging),bagging是一种提高分类准确率的算法,通过给定组合投票的方式,获得最优解。比如你...原创 2018-04-09 17:30:15 · 296 阅读 · 0 评论 -
CART 算法
CART生成CART假设决策树是二叉树,内部结点特征的取值为“是”和“否”,左分支是取值为“是”的分支,右分支是取值为“否”的分支。这样的决策树等价于递归地二分每个特征,将输入空间即特征空间划分为有限个单元,并在这些单元上确定预测的概率分布,也就是在输入给定的条件下输出的条件概率分布。CART算法由以下两步组成:决策树生成:基于训练数据集生成决策树,生成的决策树要尽量大;决策树剪枝:用验证数据集对...原创 2018-03-27 13:39:27 · 1168 阅读 · 0 评论 -
KNN算法
一、算法概述1、kNN算法又称为k近邻分类(k-nearest neighbor classification)算法。最简单平凡的分类器也许是那种死记硬背式的分类器,记住所有的训练数据,对于新的数据则直接和训练数据匹配,如果存在相同属性的训练数据,则直接用它的分类来作为新数据的分类。这种方式有一个明显的缺点,那就是很可能无法找到完全匹配的训练记录。kNN算法则是从训练集中找到和新数据最接近的k条记...转载 2018-03-27 14:08:58 · 335 阅读 · 0 评论 -
bayes 算法
你搞懂朴素贝叶斯分类算这篇文章对贝叶斯算法的讲解比较容易懂,讲数据集或属性分为了两种属性,一个是特征,一个是类别,贝叶斯思想的核心在于对特征和类别的转换,用特征去预测类别1 分类问题综述 对于分类问题,其实谁都不会陌生,日常生活中我们每天都进行着分类过程。例如,当你看到一个人,你的脑子下意识判断他是学生还是社会上的人;你可能经常会走在路上对身旁的朋友说“这个人一看就很有钱”之类的话,其实这就是一...转载 2018-03-27 14:54:13 · 846 阅读 · 0 评论 -
svm算法
非常好的一篇文章,链接:http://www.cppblog.com/sunrise/archive/2012/08/06/186474.html总结1)svm分为两大类,线性分类和非线性分类。2)线性分类:示例函数y=wx+a,注意这里的w指的是向量不是横坐标的点,如(3,8)T,一般都是指列向量,假设依据y值为1与-1进行分类,(-1表示否),则H=wx+b=0,首先,我们要知道误差数次k&l...原创 2018-03-27 16:36:51 · 1149 阅读 · 0 评论 -
EM算法
参考:https://www.cnblogs.com/pinard/p/6912636.html参考:https://www.zhihu.com/question/27976634/answer/391321831. EM算法的推导 对于mm个样本观察数据x=(x(1),x(2),...x(m))x=(x(1),x(2),...x(m))中,找出样本的模型参数θθ, 极大化模型分布的对数似然...原创 2018-03-27 17:14:23 · 204 阅读 · 0 评论 -
GSP序列模式算法
参考文献:https://wenku.baidu.com/view/a28e951eb9d528ea80c7795a.html https://blog.csdn.net/androidlushangderen/article/details/43699083GSP:GSP算法是序列模式挖掘算法的一种,他是一种类Apriori的一种,整个过程与Apriori算法比较...原创 2018-04-10 17:19:19 · 1555 阅读 · 0 评论 -
ACO蚁群算法
ACO蚁群算法总结一下:在蚁群算法中有两个比较重要的参数信息素浓度a,距离d,主要依靠这两个特征参数来推算出蚁群去往地点的概率。在比较早的时候成功解决了TSP旅行商的问题(在后面的例子中也会以这个例子)。要用算法去模拟蚂蚁的这种行为,关键在于信息素的在算法中的设计,以及路径中信息素浓度越大的路径,将会有更高的概率被蚂蚁所选择到。算法原理要想实现上面的几个模拟行为,需要借助几个公式,当然公式不是我自...原创 2018-04-10 20:07:51 · 1927 阅读 · 0 评论 -
时间序列预测
最近学习了时间序列的预测:我先总结一些时间序列预测的构建步骤:1)假定序列X={x1,x2,x3,........xn},判断序列是否平稳,主要有一下判断的方法, 1,方差判断: 判断该序列的方差是否平稳,方差应该不随时间t变化而变化 2.协方差的判断: 协方差应该只与时间间隔^t有关 3.均值的判断: 均值与时间t无关2)如果序列是不平稳的,我们应该利用些函数f(x...原创 2018-03-29 15:15:09 · 1072 阅读 · 0 评论 -
ARIMA 模型预测用户活跃情况
数据清洗,数据格式import pandas as pduser={}with open("/home/kesci/input/com6636/user.txt",'r') as f: for line in f.readlines(): num=line.split(' ') l=[] for i in range(1,len(...原创 2018-07-01 15:38:01 · 1106 阅读 · 0 评论 -
BIRTH算法
Birth 算法总结: Birth的构造过程要注意明白他的各个样子的限制作用,L为蔟间的距离,这个是分类的关键,它的求法和k-means中的质心相关,是簇中数据点的均值。说到算法原理,首先就要先知道,什么是聚类特征,何为聚类特征,定义如下:CF = <n, LS, SS>聚类特征为一个3维向量,n为数据点总数,LS为n个点的线性和,SS为n个点的平方和。因此又可以得到x0 = LS/...原创 2018-04-09 17:11:22 · 1052 阅读 · 0 评论 -
K-Means算法
K-Means算法下面介绍K均值算法:优点:易于实现 缺点:可能收敛于局部最小值,在大规模数据收敛慢算法思想较为简单如下所示:选择K个点作为初始质心 repeat 将每个点指派到最近的质心,形成K个簇 重新计算每个簇的质心 until 簇不发生变化(指的是质心C不再变化或其变化小于设定的阈值)或达到最大迭代次数 (停止迭代的条件)12345这里的重新计算每个簇...原创 2018-04-09 13:56:05 · 300 阅读 · 0 评论 -
PageRank 算法详解
参考文献:https://blog.csdn.net/androidlushangderen/article/details/43311943链接分析在链接分析中有2个经典的算法,1个是PageRank算法,还有1个是HITS算法,说白了,都是做链接分析的。具体是怎么做呢,继续往下看。PageRank算法要说到PageRank算法的作用,得先从搜索引擎开始讲起,PageRank算法的由来正式与此相...原创 2018-04-09 11:51:51 · 1728 阅读 · 0 评论 -
决策树的应用
import org.apache.spark.mllib.linalg.Vectorsimport org.apache.spark.mllib.regression.LabeledPointimport org.apache.spark.mllib.tree.DecisionTreeimport org.apache.spark.mllib.util.MLUtilsimport org原创 2018-01-25 11:53:01 · 435 阅读 · 0 评论 -
python+opencv 做人脸识别
一.准备工作 对于Linux操作系统 1.安装Python 2.安装依赖库,命令如下: yum install cmake gcc gcc-c++ gtk2-devel gimp-develgimp-devel-tools gimp-help-browser zlib-devel libtiff-devel libjpeg-devellibpng-devel gstreamer-...原创 2018-03-08 21:28:32 · 1439 阅读 · 2 评论 -
测试图片文字识别的准确度
一.准备环境 1.python 2.tesseract安装 3安装pytesseract pip install pytesseract二.精度测试的思想:步骤如下: 1.生成文字库 2.文字转图片 3. 利用tesseract识别图片文字 4.对比识别出来的文字(x)与原文字(y),取出识别错误的字典(x,y)三.代码实现如下: # -*- coding: utf-8 -*...原创 2018-03-15 16:20:50 · 2356 阅读 · 0 评论 -
PCA学习与应用
一、PCA简介1. 相关背景主成分分析(Principal Component Analysis,PCA), 是一种统计方法。通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分。上完陈恩红老师的《机器学习与知识发现》和季海波老师的《矩阵代数》两门课之后,颇有体会。最近在做主成分分析和奇异值分解方面的项目,所以记录一下心得体会。在许多领域的研究与应用中,往往需...转载 2018-03-04 16:21:57 · 5736 阅读 · 1 评论 -
Apriori算法-关联规则算法
Apriori 算法的示意图:交易ID商品ID列表T100I1,I2,I5T200I2,I4T300I2,I3T400I1,I2,I4T500I1,I3T600I2,I3T700I1,I3T800I1,I2,I3,I5T900I1,I2,I3Apriori算法较为简单:只需要明白两个概念就好: 1)支持度: 每次交易的所有商品为一个集合设位Y={.....},X为二元集合,计算X的支持度,则...原创 2018-03-29 20:55:03 · 1075 阅读 · 0 评论 -
分词器
一.有关NLP分词器的介绍如下: github 地址:https://github.com/tsroten/pynlpir2)安装其依赖包:pip install pynlpir pynlpir update3)示例代码如下:import pynlpirpynlpir.open()#f=open("re.txt")s = '问: 我们是深圳...原创 2018-03-26 09:15:46 · 115 阅读 · 0 评论 -
最大似然估值
首先要明白它面对的问题是什么:已知样本在某些条件下发生的联合概率 p(xi) s.t. i为range(1,n)。求各个样本或某部分样本发生的概率(推测的概率)p,这个p为什么值时,使得p(xi)发生的概率最大,则可化为求联合概率的极值,通常是先让它求对数,如ln后再求导,这样可使求多乘积变为概率和的求导,方便求值。 说的通俗一点啊,最大似然估计,就是利用已知的样本结果,反推最有可...原创 2018-04-08 16:58:12 · 429 阅读 · 0 评论 -
FP-tree 频繁树模式算法
步骤总结:一.构造FP 树,规则:按照支持度降序顺着根节点排下,以便于频繁项的共享二.对构造好的fp—tree 进行投影,投影过程:从底层p节点开始递归,遍历所有候选项,删除非频繁项,如定阈值为1,从、删除支持度小于1的项。 一、FP-tree的生成方法 第二步根据支持度对频繁项进行排序是本算法的关键。第一点,通过将支持度高的项排在前面,使得生成的FP-tree中,出现频繁的项更...原创 2018-04-09 11:19:59 · 2321 阅读 · 0 评论