![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
文章平均质量分 63
freedom098
这个作者很懒,什么都没留下…
展开
-
Adaboost算法简单实现
#encoding=utf-8__author__ = 'freedom'from numpy import *def LoadData(): datMat = matrix([[ 1. , 2.1], [ 2. , 1.1], [ 1.3, 1. ], [ 1. , 1. ], [ 2. , 1. ]])原创 2015-10-26 17:19:13 · 1099 阅读 · 0 评论 -
数据挖掘整理(三)
数据预处理(下)PCA与SVD算法这次主要是单独记录一下两种最常见的降维算法,PCA和SVD,也是实际应用在使用很广泛的两种降维算法,也属于数据预处理的一部分。本文会记录示例代码和理论部分的知识。PCA算法理论推导动机:给定的数据有时特征维度很高,但是有些特征维度之间相互关联,不是各自独立的,也就是说,这些维度并不 需要全部考虑进去。举例:如下图所示 图中给定三个数据点,不难看出,虽原创 2017-01-25 11:25:27 · 638 阅读 · 0 评论 -
Tensorflow实现线性回归
Tensorflow实现线性回归之前有一篇文章已经写过如何使用tensorflow实现linear regerssion,使用的是官方提供的例程,这次我在原来基础上改写了一些问题,并加入了tensorboard可视化的一些小应用。首先是样例数据人工生成,这里为了表达直观,我就以一维的数据为例。import tensorflow as tfimport numpy as npimport matp原创 2017-02-21 13:58:43 · 2728 阅读 · 1 评论 -
数据挖掘整理(二)
3.数据预处理(上)所谓凡事预则立,不预则废。数据预处理过程是一个数据分析的基础,数据预处理主要分成三大部分:提取特征与数据类型转化 从异构的或者半结构化的原始数据中提取可以输入到模型算法中的数据。数据清洗 去除明显的错误数值、去空值、数据归一化等。数据的简化和变换 有些数据有冗余,进行必要的数据缩减和变换可以提高效率。结合课上的理论部分,笔者结合sklearn机器学习库中的一些常用的原创 2017-01-22 16:50:11 · 1140 阅读 · 0 评论 -
数据挖掘整理(一)
0.一些废话本系列博客是对半年来数据挖掘课程上所学到的东西的一个简要整理,包含理论知识以及部分的代码实现(以课堂作业为主),所有博文主要以笔记的形式呈现,也会整合一些之前看到的一些资料和个人的一些见解,权作为一个记录,因此可能会有错误或者一些遗漏,为此在每篇博客最后,会附上相关的资料链接,如果不明白的地方可以进一步查阅,以备咨询。1.数据挖掘概述任何课程的开始都是从概述而起,我个人原创 2017-01-22 16:46:13 · 1373 阅读 · 0 评论 -
Tensorflow实现k-means
Tensorflow实现k-meanstensorflow实现k-means聚类算法,主要参考是的buliding Maninery Learning on Tensorflow的程序,tf构建这样的算法要比直接使用numpy复杂一些,而且不是很直观,但是关于tf的一些小的函数和技巧可以从中学习到。首先生成一个人工的数据集,这样比较好观察结果。import tensorflow as tfimpo原创 2017-02-20 19:56:25 · 5483 阅读 · 0 评论 -
Tensorflow分批量读取数据
Tensorflow分批量读取数据之前的博客里使用tf读取数据都是每次fetch一条记录,实际上大部分时候需要fetch到一个batch的小批量数据,在tf中这一操作的明显变化就是tensor的rank发生了变化,我目前使用的人脸数据集是灰度图像,因此大小是92*112的,所以最开始fetch拿到的图像数据集经过reshape之后就是一个rank为2的tensor,大小是92*112的(如果考虑通道原创 2017-02-20 15:28:57 · 8542 阅读 · 0 评论 -
Tensorflow建立与读取TFrecorder文件
Tensorflow建立与读取TFrecorder文件除了直接读取数据文件,比如csv和bin文件,tensorflow还可以建立一种自有格式的数据文件,称之为tfrecorder,这种文件储存类似于字典,调用方便,可以直接包含标签集。首先,要建立起tfrecorder文件,我这里选择了若干人脸图像数据,文件的组织形式为根目录/s+类别号/图片名称 基本思路是先遍历文件夹,使用PIL库读取文件,然原创 2017-02-20 13:20:13 · 11956 阅读 · 8 评论 -
Tensorflow直接读取二进制文件
Tensorflow直接读取二进制文件Tensorflow可以直接读取记录为固定长度的bin文件,比如cifar-10,流程基本与读取csv文件一直,只有一些细微的差别。import tensorflow as tfimport numpy as np# 预定义图像数据信息labelBytes = 1witdthBytes = 32heightBytes = 32depthBytes =原创 2017-02-20 10:29:58 · 3431 阅读 · 0 评论 -
Tensorflow直接读取CSV文件
Tensorflow直接读取CSV文件整理一下tensorflow读取csv文件的基本流程,主要是官方文档中的例子的记录。 tensorflow读取csv文件相对pandas要复杂一下,基本过程如下:产生文件名列表,这里可以一次性用pipline读取一系列csv文件。建立阅读器,读取原始数据。解析读出的原始数据,转化成数值数据或指定格式的数据。开启多线程协调器,启动输入管道。读取完毕,停原创 2017-02-20 09:46:21 · 7684 阅读 · 1 评论 -
Ubuntu14.04 配置theano、keras、tensorflow、tensorlayer
最近要用到keras和tensorlayer几个库,所以需要在ubuntu上配置一下。之前在windows上配置过keras,麻烦的可以。在linux环境下就好很多。下面做一个简单的记录,仅供参考。首先要认识清楚这几个库之间的关系,theano是一个基础的符号计算库,tensorflow也是类似的一个库,由google爸爸开发,影响力已经逐渐超越了老牌的theano。keras是在这两个库的基原创 2017-01-05 16:53:18 · 1516 阅读 · 0 评论 -
用tensorflow构建线性回归模型
用tensorflow构建简单的线性回归模型是tensorflow的一个基础样例,但是原有的样例存在一些问题,我在实际调试的过程中做了一点自己的改进,并且有一些体会。1、tensorflow构建模型第一步是先用代码搭建图模型,此时图模型是静止的,是不产生任何运算结果的,必须使用Session来驱动。2、第二步根据问题的不同要求构建不同的误差函数,这个函数就是要求优化的函数。3、调用合适原创 2016-08-03 20:17:51 · 10758 阅读 · 0 评论 -
tensorflow实现KNN识别MNIST
KNN算法算是最简单的机器学习算法之一了,这个算法最大的特点是没有训练过程,是一种懒惰学习,这种结构也可以在tensorflow实现。KNN的最核心就是距离度量方式,官方例程给出的是L1范数的例子,我这里改成了L2范数,也就是我们常说的欧几里得距离度量,另外,虽然是叫KNN,意思是选取k个最接近的元素来投票产生分类,但是这里只是用了最近的那个数据的标签作为预测值了。__author__ =原创 2016-08-04 11:08:08 · 4147 阅读 · 0 评论 -
tensorflow实现softma识别MNIST
识别MNIST已经成了深度学习的hello world,所以每次例程基本都会用到这个数据集,这个数据集在tensorflow内部用着很好的封装,因此可以方便地使用。这次我们用tensorflow搭建一个softmax多分类器,和之前搭建线性回归差不多,第一步是通过确定变量建立图模型,然后确定误差函数,最后调用优化器优化。误差函数与线性回归不同,这里因为是多分类问题,所以使用了交叉熵。另原创 2016-08-04 10:34:31 · 1067 阅读 · 0 评论 -
用tensorflow搭建CNN
利用tensorflow搭建CNN,也就是卷积神经网络是一件很简单的事情,笔者按照官方教程中使用MNIST手写数字识别为例展开代码,整个程序也基本与官方例程一致,不过在比较容易迷惑的地方加入了注释,有一定的机器学习或者卷积神经网络制式的人都应该可以迅速领会到代码的含义。#encoding=utf-8import tensorflow as tf import numpy as np f原创 2016-07-15 16:22:18 · 8941 阅读 · 1 评论 -
基于tensorflow的简单BP神经网络的结构搭建
之前的一篇博客专门介绍了神经网络的搭建,是在python环境下基于numpy搭建的,之前的numpy版两层神经网络,不能支持增加神经网络的层数。最近看了一个介绍tensorflow的视频,介绍了关于tensorflow的构建神经网络的方法,特此记录。tensorflow的构建封装的更加完善,可以任意加入中间层,只要注意好维度即可,不过numpy版的神经网络代码经过适当地改动也可以做到这一点,这原创 2016-07-14 19:09:48 · 21962 阅读 · 2 评论 -
BP神经网络的简单实现
很久之前就看到了一片国外的博文,大神用了11行python1代码就实现了一个最简单的神经网络。他的最精简的代码如下:X = np.array([ [0,0,1],[0,1,1],[1,0,1],[1,1,1] ])y = np.array([[0,1,1,0]]).Tsyn0 = 2*np.random.random((3,4)) - 1syn1 = 2*np.random.random原创 2016-04-15 19:55:11 · 1630 阅读 · 0 评论 -
三种聚类方法的简单实现
聚类是机器学习中的无监督学习方法的重要一种,近来看了周志华老师的机器学习,专门研究了有关于聚类的一章,收获很多,对于其中的算法也动手实现了一下。主要实现的包括比较常见的k均值聚类、密度聚类和层次聚类,这三种聚类方法上原理都不难,算法过程也很清晰明白。有关于原理可以参阅周志华老师的机器学习第九章,这里只做一下代码的实现。运行环境是Python2.7+numpy,说实话,numpy坑还是挺多的,其原创 2016-04-25 11:10:35 · 12567 阅读 · 2 评论 -
Tensorflow实现岭回归
Tensorflow实现岭回归岭回归可以看作是线性回归的一种增强版,实现的时候无非就是加入一个二范数正则化项,但是应当注意,这里只对于权重进行惩罚,偏置项是不加入正则化的,具体理论可以参见相关的论文和blog,在此不赘述。这里还是使用tf实现了岭回归算法,并实际应用在了一个真实数据集而非人工数据集上,数据及规模相比于之前的数据也大了很多。本次代码从数据读入,到建立计算图,到模型训练、模型评估,实际上原创 2017-02-22 17:10:47 · 1218 阅读 · 0 评论