Interpret Technique to PM|Chapter11:Interpretation of some Techniques

Abstract:对一些技术概念和原理的解释。如搜索引擎,推荐算法,贝塞尔曲线,A/B 测试等。

百度和搜索引擎

  • 爬虫:搜索引擎的关键构件;自动提取网页的程序;
  • 爬虫的策略:1.选择:决定要下载的页面,2.重新访问:决定什么时候检查页面的更新变化,3.平衡礼貌:指出怎样避免站点超载,4.并行:指出怎么协同达到分布式抓取的效果;

无损音乐

  • 采样:声音从自然界的模拟信号到数字信号的转换需要采样,即将声波上的每个点量化成一个值,存储在磁盘上;每秒采样的次数越多,声音越连贯,失真越小;单位时间的采样次数即采样频率,单位是赫兹Hz;
  • CD标准:采样频率是44100Hz,16bit来存储每个采样到的声音;即每秒采样44100次,每次占16bit空间;(8bit-1byte;1024byte-1M)

推荐算法

协同过滤算法

  • 需要数据:推荐的东西+用户行为数据;
  • 核心:物以类聚,人以群分;分为基于用户的协同过滤算法和基于物品的;
  • 基于用户的:爱好相似的人喜欢的东西相似;余弦相似度公式(通过计算n维空间中两个向量的夹角余弦来表示相似度);
  • 基于物品的协同过滤:假设AB是相似的物品,则喜欢A的人也可能喜欢B;

基于内容的算法

  • 在无用户行为数据情况下,面临的冷启动问题;基于内容即:事先把所有内容归个类,用户进行第一次消费后即把同类的内容推荐给用户;
  • 简单粗暴,命中率低;
  • 真正的推荐系统会综合运用各种算法;

贝塞尔曲线

  • 原理:几个点控制一段曲线,以画出不同形状的曲线/图形;

思考的重要性

  • 一个问题的思考路径:全面调查清楚当前现状(包括现象和规律)——是什么引起了当前的状况/改变——当前的状况或变化是一次性的还是市场或环境发生了变化?——应对当前情况的核心点在哪里?——针对核心点思考解法;

声音传文件

  • 流程:手机确认要发送文件——首先将文件上传到服务器——手机接收服务器返回的短地址——手机将短地址编码成声音——接收的手机将声音解码成短地址——从地址下载文件;(声音表示的是文件所在的短地址,而非文件)

AR公司

  • 公司:Hololens,magic leap,Meta;
  • 产品:目前依托于移动端承载,以后一定会脱离移动端独立存在;

Google Loon

  • 目标:实现全球任意地区都可接上互联网;
  • 实现:利用热气球飞往天空的平流层,利用大气流动的算法使其移动到指定区域,从而实现互联网接入;(即一个漂浮在天空的基站)
  • 热气球基站的构成:气球+基站(白天太阳能,晚上电池);

云计算

  • 大数据:对数据挖掘的包装,可创造新的商业价值;
  • 云计算:Iaas(Infrastructure as a service基础设施即服务,即卖服务器),PaaS(Platform as a service平台即服务,即面向软件开发者提供一整套方便的开发和部署环境),SaaS(software as a service软件即服务);

计算机时间

  • NTP:Network Time Protocol网络时间协议,同步时间,在网络上部署一些标准的时钟服务器,其他设备都通过NTP协议来计算自己的时钟与标准时钟的误差,再调整自己的时钟来弥补误差,使设备时间标准化;

A/B测试

  • 通过设定一个变量,对比几个版本之间在真实环境下的数据,来选出最佳方案;
  • 技术角度:A/B测试不一定要打两个包、生成两个版本,变量不要写死在代码里,可以由服务器动态下发,由后台决定下发流量的多少、下发给谁、什么时候下发;(但可能技术基础不支持)
  • AppAdhoc:A/B测试专业平台;支持各个端产品;只需后台设置要测试的变量和指标即可实时跟踪不同版本的数据表现;科学试验流量分割算法,保证不同版本用户都有相同代码;流量分配可后台自主调节;

抽奖代码

  • 流程:获取一个系统生成的随机数——将随机数映射到名单里的某个人——被映射者即中奖者;
  • 伪随机数:用函数计算出的随机数,当输入的参数相同时获得的随机数相同;
  • 真随机数:通过对无规律的自然现象量化后得到,如热力学噪声、量子现象;代价高;random.org提供各种获取随机数序列的API;

视频直播

  • 技术:HLS(http live streaming),RTSP,RTMP;
  • 直播流程:采集视频源和音频源——对视频源H264编码/对音频源AAC编码——分割成TS文件——组装成M3U8文件——Http 传输以及部署到CDN;
  • HLS原理:利用http服务器,以http的方式传输音视频文件,由于音视频文件分割得足够小,故下载也足够快,近似于实时直播;

DLNA——平民化跨屏互联解决方案

  • DLNA:定义了逻辑上的功能模块(DMS数字媒体服务器,DMR数字媒体渲染器,DMC数字媒体控制器,DMP数字媒体播放器)和模块间的交流方式;

IFTTT普通人也能写的小程序

  • if判断语句;

微信支付的业务流程

  • 1.注册订单信息:用户确认订单信息—商户后台讲商户信息、订单明细、金额信息发送到微信支付后台-微信后台将信息缓存到后台服务器里+同时生成prepay_id——prepay_id返回到终端后商户APP会展示支付确认界面;
  • 2.微信客户端展示订单:用户在商户app点击微信支付——吊起微信客户端+将prepay_id、商户信息传给微信客户端——客户端通过prepay-id、商户身份信息、微信账号信息向微信支付后台查询本次支付是否合法+检查客户端的支付权限——确认无误后微信后台同志客户端展示支付授权页面;
  • 3.用户确认,完成交易:用户在授权页面点击确认并输入密码——交易完成;
  • prepay-id标识微信支付行为的开始;

人工智能——机器学习及相关概念解析

  • 模式识别:(模式——理解为特征)利用待处理数据(图像、文字、语音等)的特征,与模版匹配并输出匹配结果;如语音识别、文字识别等;实质是依赖于人类赋予的确定规则来对数据进行处理,不具备学习能力(要提高算法的成功率需要人肉调优);
  • 学习:个体由经验或练习引起的在能力或倾向方面的变化,也指变化的过程;
  • 计算机程序的学习:在不修改算法的前提下,算法的正确性可通过经验(历史数据)和练习(一组有明确结果的数据)来逐步提高;
  • 深度学习:参考人类大脑对数据的存储和处理方式建立计算模型,使算法具有自适应、自组织能力;

微信-查找附近的人

  • GeoHash:对每个坐标打上可逐级查找的地址标签;以半切蛋糕的方式分区,切的次数越多,GeoHash越长,小区范围越小;范围细化到小区时就不必再切,在同一个小区的人的GeoHash相同,匹配附近的人即匹配GeoHash相同的人;

模糊

  • 目标:让每个像素点的细节不明显;
  • 实现:将某个像素点周围的像素值根据一些权重加起来,然后取平均值作为新图中对应位置的像素值;

动画

  • 绝大部分动画可通过基本动画的组合来完成:平移,旋转,缩放,Alpha(透明度变化);

以图搜图

  • 感知哈希算法:仿照人眼对图片相似的判断,只要轮廓、大体颜色一致,就认为相似;
  • 流程:把图片缩小成8*8,人为降低匹配精度——把图片颜色信息转化成64阶灰度(目的是比较颜色的相对强弱,不关心颜色是什么)——计算所有像素的灰度的平均值并记录信息、大于均值的标1反之标0、形成一个64bit的二进制数即为这张图的hash值——两图对比hash值、64位里相同的越多越相似;
Thanks!