![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习之路
西西L
这个作者很懒,什么都没留下…
展开
-
基于协同过滤的推荐引擎(理论部分)
记得原来和朋友猜测过网易云的推荐是怎么实现的,大概的猜测有两种:一种是看你听过的和收藏过的音乐,再看和你一样听过这些音乐的人他们喜欢听什么音乐,把他喜欢的你没听过的音乐推荐给你;另一种是看他听过的音乐或者收藏的音乐中大部分是什么类型,然后把那个类型的音乐推荐给他。当然这些都只是随便猜测。但是能发现一个问题,第二种想法很依赖于推荐的东西本身的属性,比如一个音乐要打几个类型的标签,属性的粒度会对推荐的准原创 2017-03-28 22:16:18 · 1236 阅读 · 0 评论 -
神经网络体系搭建(四)——快速上手TensorFlow
本篇是神经网络体系搭建的第四篇,解决体系搭建的TensorFlow相关问题,详见神经网络体系搭建(序) TensorFlow安装建议用Anaconda。 - Mac & Linuxconda create -n tensorflow python=3.5source activate tensorflowconda install pandas matplotl...原创 2018-02-03 09:39:53 · 499 阅读 · 0 评论 -
神经网络体系搭建(序)
神经网络这个概念并不陌生,但是从接触到现在这一个月的时间里,云里雾里,始终无法建立起完整的体系,能让自己顺畅地用神经网络解决一个具体问题,并进行有针对性的优化。于是决定整理近日所学,尝试搭建一个完整的知识体系。体系的搭建想从一系列问题入手,也是我学到此刻急需彻底理清的一些问题,将陆续更新并附上链接。神经网络是什么?解决问题的步骤(算法)是什么?梯度下降用在神经网络的哪一步?损失函数是原创 2018-01-10 17:26:24 · 379 阅读 · 0 评论 -
Fedora27替换cuda9.1为cuda9.0
安装完cuda9.1才发现和tensorflow不兼容…………………… 只好到官网重新下载9.0和对应的cudnn。卸载cuda9.1到/usr/local/,卸载cudasudo dnf remove cuda卸载rpmrpm -e --nodeps cuda-repo-fedora25-9.1-local-9.1.85-1.x86_64.rpm然...原创 2018-05-02 16:44:56 · 383 阅读 · 0 评论 -
[翻译]VGGNET分类任务——VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION
VGGNet于2014年提出,在文献VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION 中有详细介绍。摘要 本文研究了在大规模图片识别中,卷积神经网络的深度对准确率(accuracy)的影响。我们的主要贡献是通过非常小的3x3卷积核的神经网络架构全面评估了增加深度对网络的影响,结果表明16-19层的网络可以使现...原创 2018-05-02 16:45:57 · 570 阅读 · 0 评论 -
神经网络体系搭建(五)
本篇是神经网络体系搭建的第五篇,解决体系搭建的项目实战,详见神经网络体系搭建(序)主要有下面两个实战: - 卷积神经网络实现多数字识别 - Kaggle走神司机侦测(该项目的代码和网络会在2019年发布,因为本人要写毕设论文,防查重……但是会把这个过程中的一些没有创新点的工程问题总结出来)下面就是解决走神司机侦测的第一个拦路虎——内存溢出问题 - TensorFlow和Keras解决...原创 2018-05-02 16:46:32 · 308 阅读 · 0 评论 -
卷积神经网络实现多个数字识别
数据集:MNIST 框架:Keras 显卡:NVIDIA GEFORCE 750M 参考:Keras中文文档这是优达学城的深度学习项目,数据集和需求都很简单,关键是为了熟悉框架的使用以及项目搭建的套路,只要用很简单的卷积神经网络就能实现,准确率轻轻松松就能上90%。需求描述随机从MNIST数据集中选择5个或5个以下的数字,拼成一张图片,如下图所示。搭建一个模型,识别图片中的数...原创 2018-05-02 16:47:20 · 1644 阅读 · 2 评论 -
TensorFlow和Keras解决大数据量内存溢出问题
内存溢出问题是参加kaggle比赛或者做大数据量实验的第一个拦路虎。以前做的练手小项目导致新手产生一个惯性思维——读取训练集图片的时候把所有图读到内存中,然后分批训练。其实这是有问题的,很容易导致OOM。现在内存一般16G,而训练集图片通常是上万张,而且RGB图,还很大,VGG16的图片一般是224x224x3,上万张图片,16G内存根本不够用。这时候又会想起——设置batch,但是那个b...原创 2018-05-02 16:48:06 · 2613 阅读 · 2 评论 -
卷积神经网络看见了什么
这是众多卷积神经网络可视化方法之一,方法来自于论文《Learning Deep Features for Discriminative Localization》,论文译文在[翻译]Learning Deep Features for Discriminative Localization。这篇文章的核心思想是提出了一种叫Class Activation Mapping(类激活图)的方法,可以...原创 2018-05-02 16:48:31 · 309 阅读 · 0 评论 -
[翻译]Learning Deep Features for Discriminative Localization
英文原文请点这里摘要 在这项工作中, 我们重新审视了《 Network in network》中提出的全局平均 池化层(global average pooling),并阐明了它是如何通过图片标签就能让卷积神经网络具有卓越的定位能力。虽然这项技术以前被当做正则化训练的一种方法,但是我们发现它实际构建了一种通用的适用于各种任务的能定位的深度表示。尽管global average pooling...原创 2018-05-02 16:48:56 · 1166 阅读 · 0 评论 -
神经网络体系搭建(三)——卷积神经网络
本篇是神经网络体系搭建的第三篇,解决体系搭建的卷积神经网络相关问题,详见神经网络体系搭建(序)卷积神经网络(CNN)CNN是什么卷积神经网络是一种空间上共享参数的神经网络。为什么会有CNN像素间具有临近性,图片中相邻像素在一起时有特殊意义的,但是普通非卷积网络中忽略了这一点,把输入图片的每个像素与下一层的神经元相连,没有利用好这些信息,于是有了卷积神经网络。原创 2018-01-16 12:03:52 · 680 阅读 · 0 评论 -
神经网络体系搭建(一)——神经网络
本篇是神经网络体系搭建的第一篇,解决体系搭建的前四个问题,详见神经网络体系搭建(序)神经网络最简单的神经网络神经网络的定义就不再赘述,直接从最简单的神经网络说起。将一系列输入数据,通过训练好的网络模型处理,得到输出结果,这是神经网络决策的步骤。那么我们的重点就是通过训练得到网络模型。 从上图可以看出,模型的关键其实是寻找合适的权重矩阵。那么如何寻找呢,是一个暴原创 2018-01-10 17:26:55 · 537 阅读 · 0 评论 -
神经网络体系搭建(二)——深度学习网络
本篇是神经网络体系搭建的第二篇,解决体系搭建的深度学习网络相关问题,详见神经网络体系搭建(序)深度学习是一个已经被说烂了的词,几乎说起人工智能,非专业人士也会说出深度学习这个词,甚至有时候觉得神经网络,low爆了,深度学习才流行。 我也一度以为深度学习是多么神奇的一个技术,其实说到底,还是神经网络,没啥高大上的,只不过深了很多层,注意,是“深”,而不是“宽”。但是呢,就是深了很多层,确实让它原创 2018-01-14 16:03:48 · 468 阅读 · 0 评论 -
奇异值分解
最近两天都在看奇异值分解及其在推荐系统和图像压缩方面的应用,这部分知识比较散也比较难理解,看代码不是很好懂,所以通过编学边整理的方式帮助大脑理解这部分知识。 奇异值分解是什么奇异值分解(Singular Value Decomposition,SVD),是一种提取信息的方法。比如有一份记录用户关于餐馆观点的数据,要对其进行处理分析,提取背后的因素,这个因素可能是餐馆的类别,烹饪配料等,然后利用这些原创 2017-03-28 22:18:08 · 1041 阅读 · 0 评论 -
主成分分析降维(MNIST数据集)
今天看了用主成分分析简化数据,就顺便用MNIST数据集做了下实验,想直观地看一下效果,并通过完成这个小demo深入理解下原理。我发现“是什么、能做什么、怎么用、效果是什么、原理是什么、优缺点是什么”这样的思路能让我更好地接受一个新知识,之所以把原理放在效果后面,是因为我比较喜欢先看看它的作用,可视化意义之后能提起我对一个知识的兴趣,加深对它意义的理解,后面看数学原理会容易,所以整篇文章就以这样的思路原创 2017-03-22 17:21:58 · 9530 阅读 · 2 评论 -
使用TensorFlow实现手写识别(Softmax)
准备工作由于将TensorFlow安装到了Conda的tensorflow环境,虽然可以用Jupyter notebook打开,但是没有提示,写代码不方便,所以使用PyCharm进行编写。设置如下: - 如果是新建项目,在选择使用python的地址的地方,找到anaconda目录,点击envs —-> tensorflow —–> bin —–> python2.7(我的是2.7) - 如果已经原创 2017-03-13 22:04:41 · 3670 阅读 · 0 评论 -
Python文件处理
文件读取整个读取with open('pi_digits.txt') as file_object:contents = file_object.read()print(contents)两个注意点:使用关键字with可以自动关闭文件流,如果使用file_object = open('pi_digits.txt')这种方式则需要手动关闭文件流,手动关闭带来的问题就是假设程序在过程中存在bug,原创 2017-03-13 22:05:43 · 517 阅读 · 0 评论 -
Mac OS X 10.12.3安装TensorFlow
安装TesorFlow真的是个大坑,整整搞了两天,还没安好GPU版,可能是Mac mini没有独立显卡,但是奇怪的是安装过程中它并没有报错,还安装了NVDIA的驱动,cuda8.0,为了配合cuda8.0我硬生生安了个Xcode7.3,满怀期待地跑smaples,结果一个大大的Error……官网安装介绍网址:https://www.tensorflow.org/versions/r0.12/get_原创 2017-03-13 22:06:26 · 1312 阅读 · 0 评论 -
用TensorFlow的Linear/DNNRegrressor预测数据
今天要处理的问题对于一个只学了线性回归的机器学习初学者来说还是比较棘手——通过已知的几组数据预测一组数据。用excel看了下,关系不是很明显,平方,log都不是很明显,挨着试也不是办法,所以停下来理了理思路。思路整理磨刀时间tensorflow关于回归的文档教程udacity的Titanic实例砍柴时间python读取excel表格的数据尝试一维输入预测输出尝试五维输入预测输出开始磨刀原创 2017-03-15 17:12:29 · 6582 阅读 · 2 评论 -
基于协同过滤的推荐引擎(实战部分)
基于协同过滤的推荐引擎(理论部分)时隔十日,终于决心把它写出来。大多数实验都是3.29日做的,结合3.29日写的日记完成了这篇实战。数据集准备数据集使用上篇提到的Movielens电影评分数据里的ml-latest-small数据集,下载完成后有下面四个csv文件。 我们这里只需要ratings.csv就够了,打开以后会发现长这样: 是的,它果然和数据库里的没两样,上篇我们介绍的一般评分估计原创 2017-04-16 09:00:24 · 4481 阅读 · 7 评论 -
机器学习项目流程及模型评估验证
4.9日到现在一直在做Udacity的P1项目——波士顿房价预测。这个项目让我收获最大的就是理清了机器学习解决问题的整体流程,搭起一个框架,学会了寻找模型的最优参数以及模型的评估和验证方法。numpy简单的统计分析整理import numpy as npa = np.array([1,2,3,4,5])# 最小值minimum_a = np.min(a)# 最大值maximum_a = n原创 2017-04-16 09:01:41 · 1913 阅读 · 2 评论 -
知识篇——聚类算法应用
时隔两月开始继续储备机器学习的知识,监督学习已经告一段落,非监督学习从聚类开始。 非监督学习与监督学习最大的区别在于目标变量事先不存在,也就是说 监督学习可以做到“对于输入数据X能预测变量Y”,而非监督学习能做到的是“从数据X中能发现什么?”,比如“构成X的最佳6个数据簇都是哪些?”或者“X中哪三个特征最频繁共现?”这就很好玩了,比如我在Udacity的第三个项目,一家批发经销商想将发货方式原创 2017-09-09 19:53:29 · 1080 阅读 · 0 评论 -
用Q-Learning算法实现无人车智能代理程序
优达学城的第四个项目,通过Q-Learning算法来实现一个简单的无人车代驾程序。 先来一张训练过程的动图。 需求分析一个无人车需要满足的最基本需求就是安全性和可靠性。安全性用来保证用户安全,可靠性用来保证在限定时间内将用户送达目的地。安全性和可靠性划分为A+、A、B、C、D、F六个等级 - 安全性 安全性具体表现为遵守交通规则,避免交通事故。 假设有一个简化的世界,路口的交通灯是老式原创 2017-12-18 11:44:01 · 1843 阅读 · 0 评论 -
CAM论文剖析(Learning Deep Features for Discriminative Localization)
英文原文请点这里 译文请点这里 文章内容剖析实验代码在这里. 摘要本文主要工作1、阐述GAP如何使CNN具有卓越定位能力2、证明了所提出网络能定位出“区别性”区域,且分类效果也不差1 介绍扩写摘要,展示结果图引出GAP的功能远不止正则化,更重要的是定位能力指出本文所提网络保留了定位能力且分类能力也不差1.1 相关研究(研...原创 2018-05-03 18:49:27 · 1778 阅读 · 3 评论