
机器学习笔记
LiAnG小炜
Everything became much clearer when I started writing code.
展开
-
机器学习笔记(八):PCA降维算法
1 - PCA概述主成份分析,简称为PCA,是一种非监督学习算法,经常被用来进行数据降维有损数据压缩特征抽取数据可视化2 - PCA原理详解通过计算数据矩阵的协方差矩阵,然后得到协方差矩阵的特征值特征向量,选择特征值最大(即方差最大)的k个特征所对应的特征向量组成的矩阵。这样就可以将数据矩阵转换到新的空间当中,实现数据特征的降维。由于得到协方差矩阵的特征值特征...原创 2018-11-09 10:13:03 · 1281 阅读 · 0 评论 -
机器学习笔记(十四):TensorFlow实战六(经典卷积神经网络:AlexNet )
1 - 引言2012年,Imagenet比赛冠军的model——Alexnet [2](以第一作者alex命名)。这个网络算是一个具有突破性意义的模型首先它证明了CNN在复杂模型下的有效性,然后GPU实现使得训练在可接受的时间范围内得到结果,让之后的网络模型构建变得更加复杂,并且通过GPU加速越来越得到关注论文原文:http://papers.nips.cc/paper/4824-image...原创 2018-11-21 17:08:39 · 754 阅读 · 0 评论 -
机器学习笔记(十五):TensorFlow实战七(经典卷积神经网络:VGG)
1 - 引言原创 2018-11-21 20:30:11 · 689 阅读 · 0 评论 -
机器学习笔记(十六):TensorFlow实战八(经典卷积神经网络:GoogLeNet)
1 - 引言原创 2018-11-21 21:33:33 · 571 阅读 · 0 评论 -
机器学习笔记(十二):TensorFlow实战四(图像识别与卷积神经网络)
1 - 卷积神经网络常用结构1.1 - 卷积层我们先来介绍卷积层的结构以及其前向传播的算法。一个卷积层模块,包含以下几个子模块:使用0扩充边界(padding)卷积窗口过滤器(filter)前向卷积反向卷积(可选)1.1.2 - 边界填充边界填充将会在图像边界周围添加值为0的像素点,如下图所示:使用0填充边界有以下好处:卷积了上一层之后的CONV层,没有缩小高度和...原创 2018-11-17 18:42:24 · 983 阅读 · 0 评论 -
机器学习笔记(十八):TensorFlow实战十(图像数据处理)
1 - 引言之前我们介绍了通过卷积神经网络可以给图像识别技术带来突破性的进展,现在我们从图像的预处理这个角度来继续提升我们图像识别的准确率。输入的预处理需要使用TFRecord格式来同一不同的原始数据格式,并且更加有效的管理不同的属性。并且TensorFlow支持图像处理函数,可以通过预处理来弱化与图像识别无关的因素2 TFRecord输入数据格式TFRecord文件中的数据都是通过tf...原创 2018-11-24 22:11:08 · 972 阅读 · 0 评论 -
机器学习笔记(十七):TensorFlow实战九(经典卷积神经网络:ResNet)
1 - 引言我们可以看到CNN经典模型的发展从LeNet -5、AlexNet、VGG、再到Inception,模型的层数和复杂程度都有着明显的提高,有些网络层数更是达到100多层。但是当神经网络的层数过高时,这些神经网络会变得更加难以训练。一个特别大的麻烦就在于训练的时候会产生梯度消失,非常深的网络通常会有一个梯度信号,该信号会迅速的消退,从而使得梯度下降变得非常缓慢。更具体的说,在梯度下...原创 2018-11-23 16:13:12 · 1220 阅读 · 0 评论 -
机器学习笔记(十九):TensorFlow实战十一(多线程输入数据)
1 - 引言为了加速模型训练的时间,TensorFlow提供了一套多线程处理输入数据的框架。下面我们来详细的介绍如何使用多线程来加速我们的模型训练速度2 - 队列与多线程在TensorFlow中,队列和变量类似,我们可以修改它们的状态。下面给出一个示例来展示如何在TensorFlow中操作一个队列import tensorflow as tf#创建一个队列,指定队列长度为2,类型为...原创 2018-11-25 14:11:21 · 689 阅读 · 0 评论 -
机器学习笔记(二十):TensorFlow实战十二(TensorBoard可视化)
1 - 引言前面已经介绍到TensorFlow可以实现许多非常常用的神经网络结构,有的网络结构十分复杂,里面的参数关系更是难以管理。因此,TensorFlow提供了一个可视化工具TensorBoard。可以有效的展示运行过程中的计算图、各种指标随着时间的变化趋势以及训练中使用到的图像等信息。2 - TensorBoard简介TensorBoard是TensorFlow的可视化工具,可以呈现当...原创 2018-11-26 16:02:55 · 741 阅读 · 0 评论 -
机器学习笔记(二十一):TensorFlow实战十三(迁移学习)
1 - 引言越复杂的神经网络,需要的训练集越大,ImageNet图像分类数据集有120万标注图片,所以才能将152层的ResNet的模型训练到大约96.%的正确率。但是在真正的应用中,很难收集到如此多的标注数据。即使收集到也需要花费大量人力物力来标注。并且即使有了大量的数据集,要训练一个复杂的卷积神经网络也需要几天甚至几周的时间,为了解决标注数据和训练时间的问题,可以使用迁移学习下面就让我们来...原创 2018-11-26 18:31:35 · 576 阅读 · 0 评论 -
机器学习笔记(十三):TensorFlow实战五(经典卷积神经网络: LeNet -5 )
1 - 引言之前我们介绍了一下卷积神经网络的基本结构——卷积层和池化层。通过这两个结构我们可以任意的构建各种各样的卷积神经网络模型,不同结构的网络模型也有不同的效果。但是怎样的神经网络模型具有比较好的效果呢?下面我们要介绍两种非常经典的卷积网络模型:LeNet-5模型Inception模型2 - LeNet-5模型LeNet-5模型是Yann LeCun教授于1998年在论文...原创 2018-11-20 20:11:52 · 859 阅读 · 0 评论 -
机器学习笔记(十一): TensorFlow实战三(MNIST数字识别问题)
1 - MNIST数字识别问题前面介绍了这样用TensorFlow训练一个神经网络模型和主要考虑的问题及解决这些问题的常用方法。下面我们用一个实际的问题来验证之前的解决方法。我们使用的是MNIST手写数字识别数据集。在很多深度学习教程中,这个数据集都会被当做一个案例。1.1 - MNIST数据处理MNIST是一个非常有名的手写体数字识别数据集,在很多资料中,这个数据集都会被用作深度学习的入...原创 2018-11-14 17:49:59 · 894 阅读 · 1 评论 -
机器学习笔记(九):Tensorflow 实战一 (Tensorflow入门)
1 - TsensorFlow计算模型 ——计算图1.1- 计算图的概念计算图是TensorFlow中最基本的一个概念,TensorFlow中的所有计算都会被转化为计算图上的节点。在TensorFlow中,张量可以简单地理解为多为数组。如果说TensorFlow的第一个词Tensor表明了它的数据结构。那么Flow则体现了它的计算模型,Flow翻译成中文就是“流”,它直观地表达了张量之间通过...原创 2018-11-09 10:18:59 · 826 阅读 · 0 评论 -
机器学习笔记(十):TensorFlow实战二(深层神经网络)
1 - 深度学习与深层神经网络深度学习的精确定义为:“一类通过多层非线性变换对高复杂性数据建模算法的集合”因此,多层神经网络有着2个非常重要的特性多层非线性1.1 - 线性模型的局限性在线性模型中,模型的输出为输入的加权和,假设一个模型的输出y和输入xix_ixi满足以下关系,那么这么模型就是一个线性模型y=∑iwixi+by=\sum_{i}w_ix_i+by=i∑...原创 2018-11-09 10:26:07 · 842 阅读 · 0 评论 -
机器学习笔记(一):最小二乘法和梯度下降
一、最小二乘法1.一元线性拟合的最小二乘法先选取最为简单的一元线性函数拟合助于我们理解最小二乘法的原理。要让一条直接最好的拟合红色的数据点,那么我们希望每个点到直线的残差都最小。设拟合直线为 yi=b+axiy_{i}= b+ax_{i}yi=b+axi,那这些数据的所有误差和为:S=∑i=1n(y−b−axi)2S=\sum_{i=1}^{n}(y-b-ax_{i})^2S=∑i=...原创 2018-11-08 12:09:50 · 963 阅读 · 1 评论 -
机器学习笔记(二):Logistic回归
一、Logistic回归概述1. Logistic回归的思想Logistic回归是一种分类的算法,用于分类问题。和很多其他机器学习算法一样,逻辑回归也是从统计学中借鉴来的,尽管名字里有回归俩字儿,但它不是一个需要预测连续结果的回归算法。与之相反,Logistic 回归是二分类任务的首选方法。它输出一个 0 到 1 之间的离散二值结果。简单来说,它的结果不是 1 就是 0。例如癌症检测算法...原创 2018-11-08 15:03:23 · 499 阅读 · 0 评论 -
机器学习笔记(三)决策树
1 - 决策树原理决策树(Decision Tree)是一种基本的分类与回归方法,本文主要讨论分类决策树。决策树模型呈树形结构,在分类问题中,表示基于特征对数据进行分类的过程。它可以认为是if-then规则的集合。每个内部节点表示在属性上的一个测试,每个分支代表一个测试输出,每个叶节点代表一种类别。决策树的优点:1)可以自学习。在学习过程中不需要使用者了解过多的背景知识,只需要对训练数据进...原创 2018-11-08 16:43:04 · 1048 阅读 · 0 评论 -
机器学习笔记(四):SVM支持向量机
1 - SVM的基本概念支持向量机(Support Vector Machine, SVM)的基本模型是在特征空间上找到最佳的分离超平面使得训练集上正负样本间隔最大。SVM是用来解决二分类问题的有监督学习算法,在引入了核方法之后SVM也可以用来解决非线性问题。我们分别从线性和非线性两个方面来学习支持向量机线性可分支持向量机:当训练数据线性可分时,可通过间隔最大化学得一个线性可分支持向量机。...原创 2018-11-08 17:09:55 · 1138 阅读 · 1 评论 -
机器学习笔记(五):朴素贝叶斯分类器
一、概述1.1 简介朴素贝叶斯(Naive Bayesian)是基于贝叶斯定理和特征条件独立假设的分类方法,它通过特征计算分类的概率,选取概率大的情况进行分类,因此它是基于概率论的一种机器学习分类方法。因为分类的目标是确定的,所以也是属于监督学习。Q1:什么是基于概率论的方法?通过概率来衡量事件发生的可能性。概率论和统计学恰好是两个相反的概念,统计学是抽取部分样本进行统计来估算总体的情况,...原创 2018-11-08 17:20:23 · 760 阅读 · 0 评论 -
机器学习笔记(六):KNN分类器
1 KNN算法1.1 KNN算法简介KNN(K-Nearest Neighbor)工作原理:存在一个样本数据集合,也称为训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一数据与所属分类对应的关系。输入没有标签的数据后,将新数据中的每个特征与样本集中数据对应的特征进行比较,提取出样本集中特征最相似数据(最近邻)的分类标签。一般来说,我们只选择样本数据集中前k个最相似的数据,这就是...原创 2018-11-08 17:27:06 · 1176 阅读 · 0 评论 -
机器学习笔记(七):K-Means
1 - 前言之前我们学习的算法均为监督学习算法,而K-means是我们所学习的第一个无监督学习算法。所以首先让我们了解一下监督学习和无监督学习的区别1.1 - 监督学习(supervised learning)从给定的训练数据集中学习出一个函数(模型参数),当新的数据到来时,可以根据这个函数预测结果。监督学习的训练集要求包括输入输出,也可以说是特征和目标。训练集中的目标是由人标注的。监督...原创 2018-11-09 10:07:53 · 495 阅读 · 0 评论 -
机器学习笔记(二十二):TensorFlow实战十四(图像风格迁移)
1 - 引言相信大家都使用过一种滤镜,可以把一张照片转换成不同风格的照片,如下图所示:那么我们就来利用TensorFlow来实现以下这个算法,这个算法出自Gatys的A Neural Algorithm of Artistic Style论文,十分有趣,让我们来详细的介绍一下这个算法吧2 - 利用VGG提取特征总得来说,就是利用一个训练好的卷积神经网络 VGG-19,这个网络在Image...原创 2018-12-05 21:35:26 · 1649 阅读 · 3 评论