根据用户的一些特征数据,如果能推测出用户的性别借此提高产品的服务质量、广告的精准性等都是极好的。

机器学习方法有很多,而且一般都可以达到不错的效果,比如svm或神经网络等。

本文使用的代码参考——《TensorFlow练习18: 根据姓名判断性别》

但原文代码已经无法直接跑起来,对于最新的TensorFlow需要酌情调整部分参数和函数名等,根据报错调整即可比较容易,文末我也可以考虑放出自己的代码,看心情吧 O(∩_∩)O~

下面我们开始一步步剖析原文中用到的word embedding方法:

  虽然word embedding通常是用于自然语言处理的,但其实用于分析用户性别也不错,通过训练word embedding可将一句话分为积极、消极或高兴、生气等态度,所以把用户特征当做一句话,分析出男女(相当于这句话的态度)自然是可行的。

  word embedding中用到了卷积神经网络,关于什么是卷积神经网络,可参考这篇知乎回答——《CNN(卷积神经网络)是什么?有入门简介或文章吗?》,讲解的深入浅出,非常适合入门理解。

  而对于《TensorFlow练习18》中的代码只有一类特征就是姓名,先将名字中每个字向量化(前57行代码)并用于embedding计算和卷积计算等,实际情况下可能不会知道姓名而且也会做数据脱敏,当然这都是后话,通常的特征数据类型有设备类型、安装的软件等,这些特征也要先经过向量化处理,比如设备A,软件x、软件y、软件z,把其中每项当成原文中一个字来做向量化即可,转换之后就变成了4个数值(下文简称向量值),向量值才是计算机可以理解的信息。

  接下来就到了最关键的embedding层了,至于这个embedding到底是怎么回事,可以参考这篇文章《TensorFlow学习笔记3:词向量》,核心就是上述向量值太简单了,没有相关性,无法直接用于计算卷积神经网络,所以在训练模型过程中用embedding算法得出每个向量值在多个维度的语义和相关性数据。原文中embedding_size=128,所以就会为每个向量值计算128维的数据,当然对于实际的应用场景可能维度太多反倒会适得其反,可以调整embedding_size多训练几个模型来确定最适合的值,比如我最终确定embedding_size=16准确率最高。

  在embedding层之后就是卷积层和池化层了,还有dropout层,这些在《CNN(卷积神经网络)是什么?有入门简介或文章吗?》也有详细介绍,就不赘述了。原文中filter_sizes = [3,4,5]一共三项,所以一共三层卷积,而每层卷积的感受野分别为3、4、5,至于num_filters=128即每层卷积有128个卷积核(可以认为是128种滤镜)。另外其中的filter_sizes也是可以根据应用场景适当调整的,num_filters也可以调下试试,不过我感觉调整num_filters对于我的场景帮助不大。

未完待续

最新文章

  1. 《HelloGitHub》之GitHub Bot
  2. 黑客入门之IP地址及常用命令
  3. Phonegap学习点滴(2) -- 网络状态检测
  4. [Gauss]HDOJ3364 Lanterns
  5. Socket服务端口长连接最多能支持多少?
  6. dede 删除栏目文章后, 让ID从1开始
  7. PHP无法获取Referer问题排查
  8. Jquery progressbar通过Ajax请求获取后台进度演示
  9. object 插入元素,插入HTML页面
  10. Go语言协程
  11. oracle数据库访问形式
  12. Codeforces960G Bandit Blues 【斯特林数】【FFT】
  13. 通过Cloudera Manager部署CDH5.15.1的webUI界面详解
  14. Redis学习笔记之Redis的对象
  15. tomcat 启动 关闭 重启脚本
  16. Unity3D笔记 英保通八 关节、 布料、粒子系统
  17. 爬楼梯 · Climbing Stairs
  18. RabbitMQ 初探
  19. [PLC]ST语言七:MOV_SMOV_CML_BMOV_FMOV_XCH_BCD_BIN
  20. jmeter 常用内置变量

热门文章

  1. 服务端如何安全获取客户端请求IP地址
  2. mongodb数据库添加权限及简单数据库命令操作笔记
  3. 前端进击的巨人(六):知否知否,须知this
  4. kdump内核转储
  5. Spring Boot + Spring Cloud 构建微服务系统(十):配置中心(Spring Cloud Bus)
  6. Xdebug在PHP中的安装配置
  7. JavaScript 深入之从原型到原型链
  8. WIN7 环境下搭建 PHP7(64 位)操作步骤
  9. vi/vim使用
  10. OOA/OOD&UML部分