机器学习-实践
Icoding_F2014
相信代码可以变化世界
展开
-
生成学习算法
生成学习算法的核心思想: 根据贝叶斯公式p(Y=y|X=x)=p(X=x,Y=y)/p(X=x),计算给定特征向量X时,Y=y概率的大小,然后从各个y中找出那个最大的Y。其中跟据特征向量是连续还是离散的,又可以有不同的处理方式。当特征向量的分量是连续型随机变量时,可以使用连续概率密度函数来计算 概率(p(X=x,Y=y)或p(X=x)(比如使用高斯分布)。如果是离散型又可使用不同的离散型概原创 2016-10-28 11:24:09 · 319 阅读 · 0 评论 -
k-means用于图像的颜色聚类
#coding:utf-8__author__ = 'jmh081701'#本文件主要学习一种经典的聚类方法:k-means#我们把这个算法用于一个RGB图像的聚类,看能出来的什么的效果#k-means的原理:'''输入:x[1],x[2],x[3],...,x[n],其中每个x[i]都是m维的向量,给定聚类的数目k1.随机生成k个代表元:z[1],z[2],...,z[k];每个z...原创 2018-09-16 23:43:49 · 13961 阅读 · 9 评论 -
机器学习——朴素贝叶斯模型
引入一下?本文件主要描述了贝叶斯模型用于分类的一个实例,使用一个汽车改革的数据集作为实验本例子中涉及到的各维特征都是离散的。贝叶斯模型核心在于:给定特征向量X,计算该向量所属于的类别y。我们将这个问题转化为选择使得条件概率p(yi|X)最大的yi。为了选择出最大的p(yi|X),我们首先需要计算出这些条件概率(不然拿头比较呀)。根据贝叶斯公式:p(yi∣X)=p(X,yi)p(X)=p(...原创 2018-09-23 17:45:14 · 742 阅读 · 0 评论 -
BiLSTM+CRF (一)双向RNN 浅谈
引言为什么要使用双向的RNN? 一般的按序列顺序过来的RNN会记录、保存来自前面序列的信息,这些历史信息对当前的输出是很有帮助的。但是有些问题,序列当前位置历史信息和这个位置未来的信息会共同对计算当前位置的输出有帮助,例如在NLP里面的人名识别里面, 如果我们很确信下一个字符是人名的开始,那么当前位置再是人名的开始的概率就会相当的低。于是,我们就可以就想啊,能不能搞个子双向的RNN来,让模型...原创 2018-10-28 16:57:01 · 4051 阅读 · 0 评论 -
Tensorflow 实践过程中的坑
1. dynamic-run函数的sequence_length参数这个参数很重要的,尤其是当填充后的序列特别长,超过30后,一定要指定这个sequence_length告诉网络序列的真实有效长度,否则rnn在处理长序列的时候一定会出现梯度爆炸或消失的问题。参考资料:https://blog.csdn.net/jmh1996/article/details/847796802. 同时载入多个...原创 2018-12-08 09:21:29 · 294 阅读 · 0 评论 -
CNN——基于CNN的车牌号识别
PIL读取Image文件本例提供的训练集里面的每个图片都是20x20 的二值化后的灰度图,例如:因此,我们需要使用PIL库或opencv库把灰度图转换为我们方便处理的数据形式。本人是先转化为list of list.picReader.py__author__ = 'jmh081701'from PIL import Imagedef img2mat(img_filename):...原创 2019-04-01 17:35:38 · 26077 阅读 · 11 评论 -
Tensorflow——使用预训练模型进行 猫狗 图像分类
前言预训练模型顾名思义就是使用别人已经训练好的模型参数放到自己的任务里面进行特定任务的微调。这里的模型参数包括:神经网络的结构、神经网络的权值参数。本博客将尝试使用预训练模型进行猫狗分类。实验所用数据集及工具数据集本实验使用实验数据基于kaggle Dogs vs. Cats 竞赛提供的官方数据集,数据集可在百度网盘中进行下载:链接:https://pan.baidu.com/s/13...原创 2019-07-19 08:01:42 · 7155 阅读 · 0 评论 -
ExploreKit使用
ExploreKit 是一个开源自动特征提取工具,其github地址为 https://github.com/giladkatz/ExploreKit使用方法:先下载源码git clone https://github.com/giladkatz/ExploreKit下载并安装Inteli-ideahttps://download.jetbrains.8686c.com/idea...原创 2019-07-31 11:09:24 · 1422 阅读 · 1 评论 -
LightGBM C++接口(二)
安装官方版本假设LightGBM.tz所在的目录为XXXcd XXXtar -xvf LightGBM.tzcd LightGBMmkdir build;cd buildcmake -DOFFICIAL=1 ..sudo make installcmake -DOFFICIAL=1 意为编译官方版本,否则编译定制版本。 至此,已经安装完毕官方版本的LightGBM,我们使用...原创 2018-06-24 10:05:02 · 4314 阅读 · 1 评论 -
Lightgbm C++接口使用(一)
Lightgbm 是微软一款开源的随机森林学习库,该库 的牛逼之处就不用我们说明 啦。但是 目前网上关于Lightgbm的教程都是基于python或者R语言的,关于如何使用Lightgbm的C/C++接口却少有资料。刚好手上有个项目需要在线部署决策树模型,然而tensorflow C++版的样本不怎么好,因此我们想尝试看使用Lightgbm的C++版本能不能提供预测性能。然而官网并没有显式说...原创 2018-06-14 23:45:31 · 7197 阅读 · 6 评论 -
Apriori 算法实现--结合FP树
#coding:utf8__author__ = 'jmh081701'import numpy as npclass FPTree: index={} def __init__(self): self.count=1 self.name ="" self.children=[] self.parent=[]原创 2017-10-23 17:57:15 · 475 阅读 · 0 评论 -
经典决策树代码-信息增益
使用经典决策树算法,进行西瓜的分类原创 2016-12-14 19:28:21 · 908 阅读 · 0 评论 -
Tensorflow 基础
前言本文主要介绍学习tensorflow的一些基础知识,是tensorflow C++的基础,里面的样例使用的是python,后续将给出C++的示例。数据流图基础像计算机科学里面通用的数据流表示一样,在tensorflow的数据流图里面,使用节点和边来表示数据流的流动与各种操作。 节点:一般以圆圈/椭圆/方框表示,表示某种运算或操作。 边:有向边,对应于流入节点或从节点流出的数据,边的方向对应于原创 2017-08-02 17:00:07 · 811 阅读 · 0 评论 -
CNN学习(三)—Tensorflow 进行MNIST手写体识别
前言本节,我们牛刀小试一下,使用Tensor的构建一个简单的六层CNN网络来对MNIST手写体数据集进行训练。网络结构:代码__author__ = 'jmh081701'#coding:utf-8import tensorflow as tfimport numpy as npimport pandas as pdfrom tensorflow.examples.tutorials.m原创 2017-09-04 13:09:34 · 1101 阅读 · 0 评论 -
Tensorflow:softmax处理Iris鸾尾花分类
经典的分类模型,鸾尾花的分类。 数据集样例: length sepal width petal length petal width class 5.1 3.5 1.4 0.2 Iris-setosa 4.9 3 1.4 0.2 Iris-versicolor 4.7 3.2 1.3 0.2 Iris-virginica原创 2017-09-02 11:13:18 · 3589 阅读 · 0 评论 -
Tensorflow :Unsuccessful TensorSliceReader constructor: Failed to find any matching files
Tensorflow最新的版本,在使用Saver载入模型参数时会报错:Tensorflow :Unsuccessful TensorSliceReader constructor: Failed to find any matching files意思是说找不到模型保存的文件。 在Saver.save中我们传入sess,modelpath 例如: dir=”D:\data\Iris\” sa原创 2017-09-02 11:01:12 · 11281 阅读 · 7 评论 -
K-means聚类(一)
聚类:聚类(clustering)是一种无监督学习(也就是说没有label,因为我们的目标就是为了生成label.),它将相似的样本归类成同一簇,而将不相似的样本归类到其它簇中。 簇识别(cluster indentify)是为了发现有那些簇,同时各种簇里面到底有什么。K-means是一种聚类方法,K的含义是可以生成K个簇(K个类别),而每个类别会有一个中心(centro),这个簇中心是根据簇内元原创 2017-09-30 21:23:22 · 643 阅读 · 0 评论 -
numpy 函数里面的axis参数的含义
前言numpy支持对矩阵和数组进行运算,因此很多numpy的很多运算都需要指定操作的维数参数axis(当然这些axis都有带默认值的),本博客以numpy.sum求和函数为例,具体分析axis参数不同取值下的含义先说结论设 numpy.sum的输入矩阵为a. numpy.sum的返回矩阵为rst. 则矩阵a的形状为:sp=numpy.shape(a),例如sp=[m,n,p,q···] rst的原创 2017-10-03 01:45:13 · 6851 阅读 · 0 评论 -
Apriori算法--关联分析算法(一)
在实际生产生活我们经常会遇到一些“关联分析”(Association Analyse)的任务。举几个实际例子。1.人们的购物清单里面的各个商品有没有什么关联呢?就像下面这个购物清单写的那样子,右边是各个顾客所买的东西。 有的时候我们想问,顾客购买商品的时候会不会多个商品组合起来买呢?顾客会不会倾向于豆奶和尿布这两样商品一起买?我们怎么从一份购物清单里面发现这种往往会一起出现的商品组合呢?2.现在原创 2017-10-16 15:49:49 · 23868 阅读 · 2 评论 -
Affinity Propagation: AP聚类算法
@article{frey2007clustering, title={Clustering by passing messages between data points}, author={Frey, Brendan J and Dueck, Delbert}, journal={science}, volume={315}, number={5814}, pages=...原创 2019-08-15 11:26:05 · 202 阅读 · 0 评论