带你了解什么是Push消息推送

APP专项测试-push消息推送 长链接与短链接的区别,以及Push消息推送的实现原理。推送设置的关键要素,以及如何根据业务需求进行设置。推送消息对于提高用户活跃度和留存率的重要性。主动获取(炮)与被动接受(Push)的区别。手机端对于Push消息接收的设置选项。Push消息是给APP推送各种消息。友盟推送、华为推送、阿里云推送等。Push消息与通知的区别和联系。需要记忆一到两个推送平台的名称。推送平台名称的重要性及记忆方法。主流推送平台的名称及选择依据。推送内容、时机、频率、人群。Push消息推送的重要性。推送消息测试的关键检查点。 阅读详情

前言

只有光头才能变强。

文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y

如果有看我最近文章的同学可能就知道我在公司负责的是一个消息管理平台(推送系统)

640?wx_fmt=png
消息管理平台可以推送各类的消息

而Push消息是这么多种类型之中非常重要和常用的一种类型,最近也希望针对Push推送做些新的尝试,于是去学习学习些Push消息运营的技巧。

这篇文章主要是记一些笔记,以及希望听听你们是怎么看待Push推送的(不妨在评论区留言)。

一、什么是Push消息?

Push消息是非常常见的,每个APP几乎都有此类的产品。举个例子:

640?wx_fmt=png
push消息

二、Push消息能做什么?

一般我们认为Push消息能做以下的事情:

  • 唤醒用户,提高用户的留存率,提高产品活跃度。我手机下载了蘑菇街,但我似乎把它已经忘记了(好久没用了),如果此时这个APP给我推送一条我有兴趣的内容。我可能会继续用蘑菇街这个APP,甚至从此活跃起来(购买消费)

  • 告诉用户我有新的产品上线了(带动功能模块使用率)。本来蘑菇街是做商城的,现在做起直播来了。但好多用户好像都不咋留意到,此时我推送一条直播的消息给用户,可能用户就爱起直播了。

Push消息能够在你手机闭屏时(即便你没有打开APP),通过通知来给你推送信息,是一种能够直接触达用户的消息推送

  • 相对短信而言:成本低、样式多样(支持标题/简介/图片)、链接跳转直接到APP

三、Push消息现状

不知道你们在手机上下载完APP会做啥事,反正我第一时间就把通知消息给禁用掉了(除了微信)。

640?wx_fmt=png
通知栏关掉

之前试过忘了把高德地图的通知关掉,天天给我推送消息,想弄死高德地图的心都有了(haha)。

主要是现在每个人的手机容量都不少,装的APP少说都20个了。如果每个通知消息都打开,那得多烦人啊。有的APP一天还给你推个几条,本以为是重要的事,没想到是自己不感兴趣消息。一不开心,把APP给卸载了也是常见的操作了。

640?wx_fmt=png
其实我也忘了为啥我下载了这么一个APP

用户收到不感兴趣的推送可能会导致:

  • 把通知消息给关闭了

  • 把APP给卸载了

四、推送的内容

推送的内容又可以分为以下的几类:

  • 系统功能类(消息提醒):比如快递签收通知,发货通知,关注的主播开播(上新)啦

  • 营销类(活动/优惠类):比如某某时间开始大促,赶紧抢购

  • 内容类:比如晓明哥经典语录,穿搭风格教程

  • 资讯类:新闻、时事内容推送

针对上面所说的Push推送好处以及坏处,这就非常考验我们到底推送些什么内容给用户了

  • 推的内容好:提高用户留存率、提高产品活跃度、提高用户对APP的粘度

  • 推的内容差:用户对你的内容变得麻木、直接关闭通知消息、甚至卸载APP

那么一般我们会考虑些什么因素呢?有以下几个:

  • 文案

  • 推送时机

  • 推送频率

  • 推送的人群

4.1 文案

有一个叫做爱达法则(AUDA)公式:

640?wx_fmt=png
爱达法则

文案就不用多说了,相信大家都听过UC标题,如果有一个好的文案内容那吸引用户点击的概率就更高一些。目前一般的推送会用一些小技巧去提高用户的

  • 在文案末尾后加上引导话术:“点我揭晓”、“→”、“>>”

  • 多多利用数字:众多品牌3折起,更有10元的裤子,你还等什么?

  • 增加emoji表情

  • 结合热点:今天晓明哥又出新语录!

  • 更强的关联性:比如除夕的时候,你微信收到N个祝福消息,但一看就是群发的,没啥意思。但此时,有个朋友给你发了条消息:“3y 春节快乐”。你就觉得有点温馨了,是不是!

  • …..有待挖掘(欢迎评论交流)

4.2 推送的时机

如果是资讯类的,推送的时机显然是越早越好了(不然别人家的都推送完了,用户都知道了。你才推送,那谁还点进去啊)--- 同时作为是官方推送的,还应保持准确性

640?wx_fmt=png
腾讯推送事故

一般推送内容,我们都是希望在大家相对空闲的时间去推送,比如:

上班路上及早餐时间(9-10点)、午休(12-14点)、下班路上(6-7点)、睡前(21-22点)

不同的用户群体,时间可会有一定的调整。所以这就得寻找相对适宜的时间了。

3y正写着代码,正在烦躁着这个Bug怎么这么的无厘头时,此时一个Push推送过来:“你有一张代金券即将到期!”

4.3 推送的频率

9-10点给你推条:关注这些,你的Java水平一定能提高!

12-14点给你推条:三年大佬经验总结,买了就是赚到!

18-19点给你推条:耗时一个月整理的英语资源!一次性全部分享给你!

21-22点给你推条:价值1999的大数据资源,免费送给你!

那显然,你肯定会取关我,是不是。推送的频率要控制得当,一般来说一天用户不能收到3天以上的推送(消息多了,算是骚扰了),甚至不能每天都给用户推送(可能隔天推一次会好一些)。

4.4 推送的人群

现在互联网公司都有自己的用户画像系统,给同一类人推送合适的消息是较合适的。比如说:

  • 有一批用户刚注册平台,给这批用户推送个优惠券,促进他的购买欲

  • 有一批用户可能身高150+,给这批用户推荐些矮小的搭配风格推荐

  • 有一批用户的地址位置在广州,给这批用户推荐一下:广州就该这么穿,你就是整条街最靓的仔!

  • …这儿可以跟文案关联起来,这样的推送会更加精准一些,用户可能会点击的概率会更高一些。

3y是一个学Java的,收到的通知消息却是:“Excel从入门到精通,只要30天!”(关键是我也没关注过Excel的内容),那此类的推送如果多了,我很可能就把这个APP删了。

五、我们能做些什么?

我们可以做ABTest来尽可能提高点击率。

所谓 A/B 测试,简单来说,就是为同一个目标制定两个方案(比如两个页面),让一部分用户使用 A 方案,另一部分用户使用 B 方案,记录下用户的使用情况,看哪个方案更符合设计目标。

比如,我们现在要推送的人群为100W人,我可以这么做:

  • 在12点30分将文案A推10W人

  • 在12点30分将文案B推10W人

  • 在12点30分将文案C推10W人

  • 在12点30分将文案D推10W人

  • 30分钟后,观察上面的指标,哪个文案受欢迎,1点钟将剩余的流量(60W)推送那个文案

文案这么多,这不是要累死运营了?文案能不能自动生成,推送的人群能不能更精准,推送的时机能不能更恰当…..

最后

希望这篇文章可以让大家大致了解一下什么是Push推送~

参考资料:

  • https://www.zhihu.com/question/23604354/answer/132209699

公众号文章导航:公众号所有的文章导航

640?wx_fmt=jpeg

200多篇 原创 技术文章

海量视频资源

精美脑图

面试题

长按扫码可关注获取 

欢迎关注640?wx_fmt=png点个再看640?wx_fmt=png

快应用消息推送push服务端开发 文章目录快应用消息推送push开发一、设备信息保存1、设备id的生成1-1生成规则1-2生成弊端1-3更为简单的方式保证唯一性2、不合法regId的过滤3、上报更多设备信息4、程序实现逻辑4-1 程序流程图4-2 实现逻辑核心思想描述5、线上出错问题以及解决方式5-1设备信息索引重复5-2设备信息保存并发死锁二、消息推送1、厂商消息推送对比1-1厂商消息推送token的获取厂商对比处理的方式1-2... 阅读详情

相关推荐

uniapp初步完成开通消息推送uni-push

初步完成uniapp开通消息推送uni-push

qq_40098459的博客 5860

push推送原理及测试

Android系统级别的推送走的是 Google 的 Firebase 服务器,这个服务器在国内不能直接访问。所以一般用个推、极光等第三方服务商SDK,同时各家Android手机厂商也会有系统级的厂商PUSH推送服务。iOS是系统级推送,简称APNS。APNS 是Apple Push Notification Service(Apple Push服务器)的缩写......

weixin_48520816的博客 4011

如何进行app消息推送(push)

如何进行app消息推送(push) 1 消息推送 消息推送(push),是指运营人员通过自己产品后台或第三方工具对用户移动设备进行的主动消息推送,是厂商主动触达用户的通道。通过消息推送,目标用户可以在移动设备通知和状态栏看到消息通知,唤起用户点击消息去往app页面。平时手机弹出的微信、全球消息等都属于app消息推送。 消息推送具有投放精准、成本低廉的优点,能起到提醒沉默用户、提高用户活跃度、增强用户黏性的作用。一般来说,如果当日有推送的话,当日的DAU会有一定程度上涨。另外,注意使用push不要太频繁,因为

weixin_44038097的博客 4230

互联网 APP 开发:Push 推送与消息的区别

push(推送通知):Push 全称推送通知,是服务器主动向客户端传递信息的系统级技术方案。它依托手机厂商(苹果 APNs、华为 / 小米推送)或第三方服务(极光推送、个推)的专属通道实现,核心特点是突破 APP 运行状态限制 —— 无论 APP 处于前台、后台还是完全关闭,都能触达用户。

为了更好的思考 1637

【Mobile Push - 自己做个移动端消息推送】

Mobile Push 是什么,还不清楚的同学可以参考这篇。简单来说就是 移动端上的消息弹框提示 ,一般来讲,我们可以直接对接设备厂商的云服务通道 或者 借助国内外第三方Mobile Push消息推送服务 来实现这个功能。但是其实这个也可以不和设备厂商,第三方消息推送服务商强绑定,完完全全自己做。下面介绍下,开源消息推送协议。

qq_38428433的博客 1803

PUSH消息是什么?

PUSH消息是什么? APP给你推送的各种消息,这叫PUSH,营销广告邮件,这叫PUSH,营销短信,这也叫PUSH,网站上蹦出来的弹窗,这还叫PUSH,公众号的每日推送,这个…你也可以理解成PUSH。 简单理解,PUSH消息就是官方主动发送给用户的一切内容,可以是文字、图片、语音、视频,目的只有一个,让用户点进来看,看完了在APP里打着滚的接着看。 那么用户给用户发的消息呢?比如微信好友给你发了条...

数字成都 7352

什么是push通知栏消息?

Push通知栏消息是非常常见的,几乎每个APP都会做这个功能(没有消息推送的APP不是一个好的APP)一般我们认为Push消息能做以下的事情:1、。我手机下载了APP,但我似乎把它已经忘记了(好久没用了),如果此时这个APP给我推送一条我的内容。我可能会继续用这个APP,甚至从此活跃起来(购买消费)2、告诉用户我有了(带动功能模块使用率)。本来APP是做商城的,现在做起直播来了。但好多用户好像都不咋留意到,此时我推送一条直播的消息给用户,可能用户就爱起直播了。

m0_57042151的博客 1206

【ros】ROS1的安装和相关使用方法

主要学习ros相关内容

Greary的博客 2379

工作七年,对消息推送使用的一些经验和总结

一文看懂常用的消息推送

baidu_35160588的博客 1591

Carsim与AVL CRUISE联合仿真:从零搭建整车模型的实战指南

本文详细介绍了如何从零开始搭建Carsim与AVL CRUISE联合仿真整车模型,涵盖软件环境配置、接口设置、模型连接及调试技巧。通过联合仿真,可充分发挥Carsim在车辆动力学和AVL CRUISE在动力系统仿真方面的优势,为电动车和混合动力汽车的研发提供精准的整车模型分析。

weixin_29067143的博客 938

安卓光速虚拟机ADB调试实战:从密钥配置到设备连接

本文详细介绍了在安卓光速虚拟机中进行ADB调试的完整实战流程。核心在于通过密钥配置解决设备未授权问题,并启用网络调试与端口映射,最终实现电脑与虚拟机的稳定连接。文章提供了从原理理解、脚本修改到实战命令和疑难排查的全方位指南,帮助开发者和爱好者高效利用光速虚拟机作为移动测试沙盒。

CAT789的专栏 557

uniapp消息推送push

uniapp uni push 消息推送 一、前期准备 1、账号:生成该应用账号进行配置uni push 2、勾选uni push 推送 二、配置uni push 1、配置厂商推送设置 2、配置厂家推送示例:(华为) (1)、为什么要配置厂家推送设置: 配置:可以实现不打开应用的时候接受后台的推送消息 不配置:只能在打开应用的时候消息才能推送过来 (2)、点击跳转进行账号注册 (3)、配置完成之后的页面 (4)、获取appid 和secretkey (5)、进

weixin_43825389的博客 3410

uniapp - 实现苹果App打包上架App Store应用商店详细教程,详解Hbuilder打包编译ipa发布上传到苹果ios软件商店全流程,提供云打包/离线本地打包ios、申请IOS苹果证书方法

uni-app,苹果ios,苹果app,打包编译,appstore应用商店,ipa发布到软件商店,uniapp的app苹果应用商店上架,上架苹果APPStore,uniApp打包的ipa文件上传到商店,上架苹果商城,审核失败,被拒绝,UniApp打包ipa文件,上架iOSAppStore流程指南,最新详细教程最全,Hbuilder打包发布iosapp,苹果云打包上线全过程,云打包IPA并上传到商店,打包iOSipa文件后怎么发布到应用商店,苹果证书申请教程,ios证书申请,mac电脑,审核很久

🏆 前端领域优质创作者 1万+

HTML5+ push消息推送

plus.push 是 HTML5+ 中用于管理推送消息的主要对象。通过它,开发者可以添加事件监听器、清空推送消息、创建本地消息、获取所有推送消息、获取客户端推送标识信息等。

weixin_46515434的博客 2822

【WRFDA教程】客观分析(OBSGRID)详解

客观分析(OBSGRID)详解

WW、forever的博客 1133

传统(经典)粒子群算法(PSO)解决单目标优化问题

智能算法:粒子群算法(particle swarm optimizer)—PSO %原理:(1)种群初始化–N(种群数)–D(个体数)–x(i)(粒子位置)–v(i)(粒子速度) % (2)计算每个粒子的适应度值–而适应度值需要选择适应度函数 % (3)对于每个粒子,使用它的适应度值fit[i]和个体的极值pbest(i)进行比较,如果fit[i]>pbest(i),则pbest(i)=fit[i] % (4)同理,对每个粒子用它的适应值与全局极值进行比较,如果比它大,则

weixin_51631044的博客 1295

PUSH消息推送的实现原理

通过短信发送推送消息,并在客户端植入短信拦截模块(主要针对 Android 平台),可以实现对短信进行拦截并提取其中的内容转发给 App 应用处理,这个方案借助于运营商的短消息,能够保证最好的实时性和到达率,但此方案对于成本要求较高,开发者需要为每一条 SMS 支付费用。客户端和服务器定期地建立连接,通过消息队列等方式来查询是否有新的消息,需要控制连接和查询的频率,频率不能过慢或过快,过慢会导致部分消息更新不及时,过快会消耗更多的资源(流量、电量等),对用户体验有较大伤害。

liuqinhou的博客 2674

【AI智能体】Skills 智能体驱动开发从使用到项目实战详解

Skills 智能体驱动开发从使用到项目实战详解

congge 6606

如何在鸿蒙中通过 Push 消息推送更新应用?

推送通知是一种常见的应用更新方式,它能够通过后台服务向用户设备推送消息,提醒用户有新的内容或版本更新。尤其在移动应用中,推送通知被广泛用于提醒用户更新应用、获取最新消息、接收重要通知等。通过推送消息进行应用更新,不仅能提高用户的活跃度,还能增强用户体验。在鸿蒙操作系统中,开发者可以通过集成推送 SDK 实现推送消息功能,并通过消息推送向用户推送应用更新信息。推送通知的应用场景:推送通知常见的应用场景。集成 Push SDK:如何配置和使用 Push SDK。发送推送消息:如何向设备发送更新消息。

小白酷爱学编程,欢迎大家一块儿学习~~ 1225

手把手教你学Simulink实例--使用 Simulink 进行电力电子系统的小信号模型仿真

电力电子系统(Power Electronics System)包括各种功率转换器(如 DC-DC 转换器、逆变器等)。这些设备中的关键组件(如 MOSFET、IGBT、电容器、电感器等)不仅影响系统的性能,还直接关系到系统的稳定性、效率和可靠性。因此,在设计阶段进行详细的建模和仿真至关重要。小信号模型仿真的目的是通过线性化非线性系统来评估其动态特性,包括增益、相位裕度、带宽等指标。通过本教程,我们介绍了如何使用 Simulink 进行电力电子系统的小信号模型仿真。背景介绍。

MHD0815的博客 298

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

APP消息推送(Push),竟然还有这么多你不知道的

在一个移动操作系统中,APP可以实现一个叫做消息推送(push)的功能。push是能够起到提醒或者唤醒用户的作用的,也是app运营渠道之一,运用得当可以帮助产品运营人员更高效地实现运营目标,相反盲目运用也会让APP变得让人讨厌。今天我们聊聊聊APP消息推送那些策略。 有不少小伙伴私信问我如何写文章的,其实很简单,我写文也不是逻辑非常明确,也不是非常符合所谓金字塔原则的(其实用麦肯锡那一套写出...

lisheng19870305的专栏 7742

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

从入门到放弃:关于消息推送(Push)的复盘思考

作者:Maggie全文共 3747 字 8 图,阅读需要 9 分钟———— / BEGIN / ————还是先用哲学三问“是什么、为什么、怎么做”来对push做一个概括push是什么为什么要发push(push能解决什么问题)如何提高push打开率一、Push是什么push指运营人员通过自己的产品(运营后台)或第三方工具(如极光、友盟等第三方平台)对用户移动设备进行的主动消息推送。用户可以在移动设

人人都是产品经理 8663

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Austin Push通知:安卓通知栏消息推送机制

在移动应用生态中,通知栏消息推送(Push Notification)是连接用户与应用的重要桥梁。Austin消息推送平台通过集成个推(GeTui)服务,为开发者提供了稳定高效的安卓通知栏消息推送能力。本文将深入解析Austin平台的Push通知机制、实现原理及最佳实践。 ## Push通知的核心价值 通知栏消息推送在现代移动应用中扮演着至关重要的角色: - **实时触达**:即时将重要信息...

gitblog_01052的博客 1208
上一篇: Git原理入门解析
下一篇: Java发送邮件时,必须要的一个配置!
Java3y
Java3y 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄9年 1万+粉丝 509原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值