机器学习
两只橙
全球AI挑战赛百强选手,曾任职于腾讯微信事业部,魅族flyme事业部,中国平安人工智能团队。《深度学习500问》作译者,CSDN博客专家及签约讲师,指弹吉他爱好者,简书专栏作家。
展开
-
第七章·深度学习实战(1.5)——深度学习几大难点
一、局部最优问题深度学习算法的目标函数,几乎全都是非凸的。而目前寻找最优解的方法,都是基于梯度下降的。稍微有点背景知识的人都知道,梯度下降方法不能解决是解决非凸问题的。因此,如果找到最优解,将是深度学习领域,非常值得研究的课题。andrew在google的工作,也就是那只猫,其实训练过程是让人很费解的。为了缩短训练时间,项目组采用了分布式训练的方式。采用了1000 台计算机,在不同的计算机上存...原创 2019-10-24 23:43:54 · 716 阅读 · 0 评论 -
第六章(1.8)深度学习实战——深度学习模型训练痛点及解决方法
一 模型训练基本步骤进入了AI领域,学习了手写字识别等几个demo后,就会发现深度学习模型训练是十分关键和有挑战性的。选定了网络结构后,深度学习训练过程基本大同小异,一般分为如下几个步骤定义算法公式,也就是神经网络的前向算法。我们一般使用现成的网络,如inceptionV4,mobilenet等。定义loss,选择优化器,来让loss最小对数据进行迭代训练,使loss到达最小在测试集或者...原创 2019-10-20 19:02:39 · 2446 阅读 · 0 评论 -
第六章(1.6)机器学习实战——打造属于自己的贝叶斯分类器
github项目地址:https://github.com/liangzhicheng120/bayes一、简介项目使用SpringBoot做了一层web封装项目使用的分词工具hanlp项目使用JDK8贝叶斯法则 事件A在事件B(发生)的条件下的概率,与事件B在事件A的条件下的概率是不一样的;然而,这两者是有确定的关系,贝叶斯法则就是这种关系的陈述。贝叶斯术语 其中L(A...原创 2018-03-13 17:49:30 · 1897 阅读 · 0 评论 -
第六章(1.4)自然语言处理实战——时间语义抽取
项目github地址:https://github.com/liangzhicheng120/nlp一、简介本工具是由复旦NLP中的时间分析功能修改而来,做了一些细节和功能的优化,经SpringBoot封装成web工具。泛指时间的支持,如:早上、晚上、中午、傍晚等。时间未来倾向。 如:在周五输入“周一早上开会”,则识别到下周一早上的时间;在下午17点输入:“9点送牛奶给隔壁的汉...原创 2018-03-12 16:28:38 · 4619 阅读 · 10 评论 -
第六章(1.5)深度学习实战——利用RNN和LSTM生成小说题记
一、选取素材本文选取的小说素材来自17k小说网的一篇小说,手工复制小说中的题记。小说网址:http://www.17k.com/list/2793873.html训练语料如下: 语料格式题记:此情可待成追忆,只是当时已惘然。二、开发环境tensorflowancondeidea编辑器三、实战代码#!/bash/bin# -*-coding:utf-8-*...原创 2018-03-16 19:24:28 · 2323 阅读 · 0 评论 -
第五章(1.7)深度学习——常用的八种神经网络性能调优方案
一、神经网络性能调优主要方法数据增广图像预处理网络初始化训练过程中的技巧激活函数的选择不同正则化方法来自于数据的洞察集成多个深度网络1. 数据增广在不改变图像类别的情况下,增加数据量,能提高模型的泛化能力。 自然图像的数据增广方式包括很多,如常用的水平翻转(horizontally flipping),一定程度的位移或者裁剪和颜色抖动(color jittering...原创 2018-02-23 10:57:27 · 9114 阅读 · 0 评论 -
第一章(1.2) 机器学习算法工程师技能树
一、机器学习算法工程师需要掌握的技能机器学习算法工程师需要掌握的技能包括(1)基础数据结构与算法树与相关算法图与相关算法哈希表与相关算法矩阵与相关算法(2)概率和统计基础大数定理中心极限定理常用概率分布假设校验理论最大后验理论最大似然理论EM算法贝叶斯理论贝叶斯分类错误率(3)机器学习理论3.1 无监督学习混合高斯模型层次聚类...原创 2018-02-19 23:51:22 · 4078 阅读 · 0 评论 -
第一章(1.3)机器学习概念图谱
一、机器学习概念图谱二、什么是机器学习机器学习(machine learning)是最近非常火的一个领域,关于其一些基本定义百度百科、维基百科或者网上随便都可以找到很多资料,所以这里不做过多解释。我们解决一个问题有两种模式:一种叫做模型驱动(model driven),通过研究对象的物理、化学等机理模型,对对象进行建模,从而解决问题,比如我们熟知的牛顿三定律,对于上面那个公式...原创 2018-02-22 16:22:45 · 899 阅读 · 0 评论 -
第六章(1.2)自然语言处理实战——打造属于自己的中文word2vector工具
一、环境python3.6安装anaconda安装jieba安装gensim安装IDEA 编辑器安装 二、实战演练训练语料source.txt9月12日随着颁奖典礼的结束,我院获得了商委系统运动会系列活动之一——足球比赛的季军,本次比赛立时十天,十二只球队分成两个小组比赛。我院代表队以小组第二名的成绩出现,在和另一小组第二名石油公司争夺三四名的比赛中,教师们超水...原创 2018-03-09 10:37:33 · 3931 阅读 · 6 评论 -
第四章(1.1)机器学习——RF(随机森林)、GBDT、XGBoost算法
一、概念RF、GBDT和XGBoost都属于集成学习(Ensemble Learning),集成学习的目的是通过结合多个基学习器的预测结果来改善单个学习器的泛化能力和鲁棒性。二、关系根据个体学习器的生成方式,目前的集成学习方法大致分为两大类:即个体学习器之间存在强依赖关系、必须串行生成的序列化方法,以及个体学习器间不存在强依赖关系、可同时生成的并行化方法;前者的代表就是Boosting,后者的代表是原创 2018-02-08 09:46:06 · 2228 阅读 · 0 评论 -
第七章(1.2)图像处理——人脸识别技术发展及实用方案设计
人脸识别技术不但吸引了Google、Facebook、阿里、腾讯、百度等国内外互联网巨头的大量研发投入,也催生了Face++、商汤科技、Linkface、中科云从、依图等一大波明星创业公司,在视频监控、刑事侦破、互联网金融身份核验、自助通关系统等方向创造了诸多成功应用案例。本文试图梳理人脸识别技术发展,并根据作者在相关领域的实践给出一些实用方案设计,期待能对感兴趣的读者有所裨益。一、概述通俗地讲,任原创 2018-01-10 22:01:05 · 1347 阅读 · 0 评论 -
第五章(1.4)深度学习——神经网络架构和原理
一、为什么需要机器学习有些任务直接编码较为复杂,我们不能处理所有的细微之处和简单编码,因此,机器学习很有必要。相反,我们向机器学习算法提供大量数据,让算法不断探索数据并构建模型来解决问题。比如:在新的杂乱照明场景内,从新的角度识别三维物体;编写一个计算信用卡交易诈骗概率的程序。机器学习方法如下:它没有为每个特定的任务编写相应的程序,而是收集大量事例,为给定输入指定正确输出。算法利用这些事例...原创 2018-01-18 09:47:46 · 781 阅读 · 0 评论 -
第八章(1.1)总结与展望——AI 领域最稀缺的人才:人工智能架构师
这里,就不卖关子了。AI领域最最最最最稀缺的人才应该为人工智能架构师。有过4次技术创业经历,如今做AI投资的星瀚资本创始合伙人杨歌如是说。在杨歌的身上,传奇的经历多得是。清华学霸,技术男,四次技术创业经历,创建青年精英商业联合会,投身PE,创办星瀚资本,圈内最懂AI技术的投资人之一……然而,最打动我的,并非这些光鲜的字眼,而是他身上强大的势能,他眼里的平静和坚定,以及他完全不Care年原创 2018-01-08 17:53:26 · 2201 阅读 · 0 评论 -
第七章(1.3)图像处理—— 深度学习PK传统机器学习
原文:Image Classification in 5 Methods https://medium.com/towards-data-science/image-classification-in-5-methods-83742aeb3645图像分类,顾名思义,是一个输入图像,输出对该图像内容分类的描述的问题。它是计算机视觉的核心,实际应用广泛。图像分类的传统方法是特征描述及检测,这类传统方法翻译 2017-12-29 17:54:49 · 3369 阅读 · 0 评论 -
Keras中神经网络可视化模块keras.utils.visualize_util 的安装
一、Keras中提供了一个神经网络可视化的函数plot,并可以将可视化结果保存在本地。plot使用方法如下:from keras.utils.visualize_util import plot plot(model, to_file='model.png') 注:笔者使用的Keras版本是1.0.6,如果是python3.5fromkeras.utilsimportplo...原创 2018-03-06 17:28:47 · 2463 阅读 · 0 评论 -
第六章(1.1)自然语言处理实战——TF-IDF算法原理
一、什么是TF-IDFTF-IDF(Term Frequency-Inverse Document Frequency, 词频-逆文件频率).是一种用于资讯检索与资讯探勘的常用加权技术。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。词频 (ter...原创 2018-03-30 15:09:43 · 1051 阅读 · 0 评论 -
个性化推荐系统设计(2.2)——Few-shot Learning用于冷启动的探索
在推荐领域,我们常常会遇到冷启动的问题,这可能在所有的推荐项目中或多或少都会涉及。对于该问题,通常的解决方法如下:①(提供非个性化的推荐)比如先推荐热门排行榜,收集一定用户数据后,再进行个性化推荐;②(用户冷启动)利用注册时的用户信息粗粒地个性化推荐;③(用户冷启动)使用用户注册登录后对某些物品进行反馈的兴趣信息进行个性化推荐。;④(物品冷启动)对于新加入的物品,可以利用内...原创 2019-07-28 10:06:35 · 1152 阅读 · 0 评论 -
人机交互系统(3.1)——NLP文本数据增强方法
一、数据增强的背景和应用场景随着AI技术的逐步发展,更好的神经网络模型对数据规模的要求也逐步提升。而在分类任务中,若不同类别数据量相差很大,模型则会出现过拟合现象,严重影响预测的正确性。从广义上来讲,有监督模型的效果相对半监督或无监督学习都是领先的。但是有监督模型需要获取大量的标注数据,当数据需求达到十万、百万甚至更多时,人工标注数据昂贵的代价已经让很多人望而却步。如何利用有限的标注数据,...原创 2019-08-03 11:13:40 · 5564 阅读 · 1 评论 -
第五章(1.8)金典网络解读—LeNet5、AlexNet、VGGNet
1 LeNet5一种典型的用来识别数字的卷积网络是LeNet-5。1.1 模型结构LeNet-5共有7层(不包含输入层),每层都包含可训练参数;每个层有多个Feature Map,每个FeatureMap通过一种卷积滤波器提取输入的一种特征,然后每个FeatureMap有多个神经元。• C1层是一个卷积层 输入图片:32 * 32 卷积核大小:5 * 5 卷积核种类:6 输...原创 2019-07-20 10:47:19 · 743 阅读 · 1 评论 -
人机交互系统(2.2)——Embedding的历史由来
1 前言首先回顾一下自然语言处理中的一个基本问题:如何计算一段文本序列在某种语言下出现的概率?之所以称其为一个基本问题,是因为它在很多NLP任务中都扮演着重要的角色。例如:去哪 。。。联想到“ 吃饭!”的概率,即“吃饭”这个词在“去哪”这种语言环境下出现的概率。2 词向量最早的词向量是很冗长的,它使用是词向量维度大小为整个词汇表的大小,对于每个具体的词汇表中的词,将对应的位置置为1...原创 2019-07-07 12:42:55 · 2300 阅读 · 0 评论 -
人机交互系统(4.1)——深度学习在人脸检测中的应用
1 人脸检测在目标检测领域可以划分为了人脸检测与通用目标检测,往往人脸这方面会有专门的算法(包括人脸检测、人脸识别、人脸其他属性的识别等等),并且和通用目标检测(识别)会有一定的差别,着主要来源于人脸的特殊性(有时候目标比较小、人脸之间特征不明显、遮挡问题等),下面将从人脸检测和通用目标检测两个方面来讲解目标检测。1.1 目前主要有人脸检测方法分类?目前人脸检测方法主要包含两个区域:传统人脸...原创 2019-07-04 23:26:06 · 1854 阅读 · 1 评论 -
人机交互系统(2.1)——深度学习分布式计算框架
1 为什么需要分布式计算?在这个数据爆炸的时代,产生的数据量不断地在攀升,从GB,TB,PB到ZB。挖掘其中数据的价值也是企业在不断地追求的终极目标。但是要想对海量的数据进行挖掘,首先要考虑的就是海量数据的存储问题,比如TB量级的数据。谈到数据的存储,则不得不说的是磁盘的数据读写速度问题。早在上个世纪90年代初期,普通硬盘的可以存储的容量大概是1G左右,硬盘的读取速度大概为4.4MB/s.读取...原创 2019-07-04 22:55:32 · 2968 阅读 · 1 评论 -
人机交互系统(1.3)——自然语言处理过程
一、收集数据1.1 数据源的样例每一个机器学习问题都是从数据开始的,比如电子邮件、帖子或tweet列表。常见的文本信息来源包括:产品评论(亚马逊,Yelp,各种应用商店)用户生成内容(tweet、Facebook帖子、StackOverflow问题)故障排除(客户请求、支持票、聊天日志)“Disasters on Social Media” dataset“社交媒体灾难”数据集...原创 2019-06-09 12:48:34 · 2679 阅读 · 0 评论 -
个性化推荐系统设计(2.1)——推荐算法介绍
协同过滤算法协同过滤(Collaborative filtering, CF)算法是目前个性化推荐系统比较流行的算法之一。协同算法分为两个基本算法:基于用户的协同过滤(UserCF)和基于项目的协同过滤(ItemCF)。基于属性的推荐算法基于用户标签的推荐统计用户最常用的标签,对于每个标签,统计被打过这个标签次数最多的物品,然后将具有这些标签的最热门的物品推荐给这个用户。这个...原创 2019-05-11 17:54:58 · 2176 阅读 · 0 评论 -
个性化推荐系统设计(4.1)——案例分析
在过去的十年中,神经网络已经取得了巨大的飞跃。如今,神经网络已经得以广泛应用,并逐渐取代传统的机器学习方法。 接下来,我要介绍一下YouTube如何使用深度学习方法来做个性化推荐。由于体量庞大、动态库和各种观察不到的外部因素,为YouTube用户提供推荐内容是一项非常具有挑战性的任务。YouTube的推荐系统算法由两个神经网络组成:一个用于候选生成,一个用于排序。如果你没时间仔细研究论文,可以...原创 2019-05-19 00:16:23 · 4241 阅读 · 0 评论 -
个性化推荐系统设计(3.1)——如何评价个性化推荐系统的效果
准确率与召回率(Precision & Recall) 准确率和召回率是广泛用于信息检索和统计学分类领域的两个度量值,用来评价结果的质量。其中精度是检索出相关文档数与检索出的文档总数的比率,衡量的是检索系统的查准率;召回率是指检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的查全率。 一般来说,Precision就是检索出来的条目(比如:文档、网页等)有多...原创 2019-04-20 23:46:09 · 1846 阅读 · 0 评论 -
人机交互系统(1.1) ——Annoy算法(海量数据查找)
前言一旦文档变成这种稠密向量形式,那如何从海量文本中快速查找出相似的Top N 文本呢?这就不得不提到一个海量数据相似查找算法——Annoy算法。算法原理建立索引Annoy的目标是建立一个数据结构,使得查询一个点的最近邻点的时间复杂度是次线性。Annoy 通过建立一个二叉树来使得每个点查找时间复杂度是O(log n)。 看下面这个图,随机选择两个点,以这两个节点为初始中心节点,执行聚类...原创 2019-03-02 18:46:53 · 2064 阅读 · 0 评论 -
人机交互系统(1.2) ——深度神经网络(孪生网络)
一、前言深度神经网络通常比较擅长从高维数据中学习,例如图像或者语言,但这是建立在它们有大量标记的样本来训练的情况下。然而,人类却拥有单样本学习的能力——如果你找一个从来没有见过小铲刀的人,给他一张小铲刀的图片,他应该就能很高效的将它从其他厨房用具里面鉴别出来。这是一种对人类来说很容易的任务,但是直到我们想写一个算法让它去做这件事……那就GG了 。很明显,机器学习系统很希望拥有这种快速从少量样...原创 2019-03-01 17:23:48 · 2995 阅读 · 0 评论 -
第六章(1.7)深度学习实战——用lstm做小说预测
一、简介长短期记忆网络LSTM(Long-Short Term Memory)是递归神经网络(RNN:Recurrent Neutral Network)的一种。 RNNs也叫递归神经网络序列,它是一种根据时间序列或字符序列(具体看应用场景)自我调用的特殊神经网络。将它按序列展开后,就成为常见的三层神经网络。常应用于语音识别。虽然前馈神经网络取得很大成功,但它无法明确模拟时间关系,并且...原创 2018-03-21 16:09:05 · 2662 阅读 · 0 评论 -
深度学习性能提升的诀窍
一、克服过拟合和提高泛化能力的20条技巧和诀窍你是如何提升深度学习模型的效果? 这是我经常被问到的一个问题。 有时候也会换一种问法: 我该如何提高模型的准确率呢? ……或者反过来问: 如果我的网络模型效果不好,我该怎么办? 通常我的回答是“具体原因我不清楚,但我有一些想法可以试试”。 然后我会列举一些我认为能够提升性能的方法。 为了避免重复罗列这些内容,我打算在本文中转载 2017-12-29 17:41:47 · 832 阅读 · 0 评论 -
TensorFlow —— 30秒搞定物体检测
Google发布了新的TensorFlow物体检测API,包含了预训练模型,一个发布模型的jupyter notebook,一些可用于使用自己数据集对模型进行重新训练的有用脚本。 使用该API可以快速的构建一些图片中物体检测的应用。这里我们一步一步来看如何使用预训练模型来检测图像中的物体。1、首先我们载入一些会使用的库import numpy as np import os import原创 2017-12-29 15:32:06 · 3074 阅读 · 0 评论 -
深度学习入门建议
入门路线 1、首先在自己电脑上安装一个开源的框架,像Tensorflow、caffe这样的,先玩一下这个框架,把框架用起来 2、然后跑一些基础的网络,由浅入深 3、如果有条件的话,整个有GPU的电脑,GPU跑的要快很多,跟CPU比起来详细点说,我认为可以按以下步骤去学习它: 第一个阶段: 1)、实现并训练只有一层的softmax回归模型用于手写数字图片分类; 2)、实现并训练含三个原创 2018-01-05 16:37:38 · 495 阅读 · 0 评论 -
Logistic回归简介
1、线性回归的主要思想就是通过历史数据拟合出一条直线,用这条直线对新的数据进行预测。(例如:位于线性函数两边的分别为A.B类)2、现实世界中的影响因素很多,因此我们需要使用多元线性函数来描述一个事件(结果)3、多元线性函数:研究二分类观察结果y与一些影响因素(x1,x2,x3,…,xn)之间关系的一种多变量分析方法,例如医学中根据病人的一些症状来判断它是 否患有某种病。4、多元线性回归公式: 5原创 2017-09-22 18:10:32 · 886 阅读 · 0 评论 -
基于情感词典的文本情感分类
基于情感词典的文本情感分类 传统的基于情感词典的文本情感分类,是对人的记忆和判断思维的最简单的模拟,如上图。我们首先通过学习来记忆一些基本词汇,如否定词语有“不”,积极词语有“喜欢”、“爱”,消极词语有“讨厌”、“恨”等,从而在大脑中形成一个基本的语料库。然后,我们再对输入的句子进行最直接的拆分,看看我们所记忆的词汇表中是否存在相应的词语,然后根据这个词语的类别来判断情感,比如“我喜欢数学”,“喜原创 2017-08-29 09:36:50 · 7928 阅读 · 5 评论 -
情感分析
简介 文本分类方法大部分使用基于模型的分类,基本上可以分为两大类:1)基于规则的分类方法,采用为类别集合的每个类别确定分类规则,然后根据类别模板统计待分类文本,确定该文本所属类别。基于规则的文本分类方法主要有:决策树、关联规则和粗糙集等;2)基于统计的分类方法,使用分类模型自动根据训练集中的信息自动学习,从而构造出文本特征和类别之间的对应关系模型,利用训练好的模型对待分类文本进行分原创 2017-08-29 09:21:46 · 1916 阅读 · 0 评论 -
python tesorflow 数据可视化
#!/bin/bash# -*-coding=utf-8-*-import matplotlib.pyplot as pltimport tensorflow as tfimport numpy as npdef add_layer(inputs, in_size, out_size, activation_function=None): Weights = tf.Variable原创 2017-08-06 17:42:02 · 738 阅读 · 0 评论 -
第三章(1.2)windows下安装Anaconda+TensorFlow+配置PyCharm
一、下载官网 https://www.continuum.io/downloads Anaconda 安装包也可以到 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 下载打开,找到4.2版本 二、安装Anaconda安装过程中,Anaconda会提示是否添加到环境变量,选择“是”;(其实不用太看,基本...原创 2017-07-12 09:28:59 · 1204 阅读 · 0 评论 -
TensorFlow不同版本引起的错误
这几天分别基于tensorflow0.11和1.0版本测试,记录下两个版本不同的API, 参考:http://blog.csdn.NET/edwards_june/article/details/65652385前4个是 V0.11 的API 用在 V1.0 的错误 1. AttributeError: ‘module’ object has no attribute ‘merge_all_su原创 2017-08-11 07:18:28 · 1466 阅读 · 0 评论 -
TENSORFLOW1.0运行之前版本代码报错解决
1报错位置:.tf.scalar_summary(‘batch_loss’, loss)AttributeError: ‘module’ object has no attribute ‘scalar_summary’修改为:tf.summary.scalar(‘batch_loss’, loss)原因:新版本做了调整2.AttributeError: ‘module’ object has no原创 2017-08-11 07:15:09 · 555 阅读 · 0 评论 -
MNIST机器学习入门
MNIST机器学习入门这个教程的目标读者是对机器学习和TensorFlow都不太了解的新手。如果你已经了解MNIST和softmax回归(softmax regression)的相关知识,你可以阅读这个快速上手教程。当我们开始学习编程的时候,第一件事往往是学习打印”Hello World”。就好比编程入门有Hello World,机器学习入门有MNIST。MNIST是一个入门级的计算机视觉数据集,它原创 2017-07-26 15:07:41 · 617 阅读 · 0 评论