<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>老和山下云儿飞 &#187; 技术</title>
	<atom:link href="https://www.yiluwan.org/blog/?cat=3&#038;feed=rss2" rel="self" type="application/rss+xml" />
	<link>https://www.yiluwan.org/blog</link>
	<description>心有多大，这个世界就有多大！</description>
	<lastBuildDate>Wed, 03 Jan 2024 11:19:31 +0000</lastBuildDate>
	<language>zh-CN</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.9</generator>
	<item>
		<title>股票相似</title>
		<link>https://www.yiluwan.org/blog/?p=791</link>
		<comments>https://www.yiluwan.org/blog/?p=791#comments</comments>
		<pubDate>Fri, 15 Mar 2019 04:55:10 +0000</pubDate>
		<dc:creator><![CDATA[liyunfei]]></dc:creator>
				<category><![CDATA[技术]]></category>

		<guid isPermaLink="false">http://www.yiluwan.org/blog/?p=791</guid>
		<description><![CDATA[]]></description>
				<content:encoded><![CDATA[<p><span style="color: #444444;">这个自从不能写鸡汤之后，这个文章就真是难写，写什么都是很水的感觉，纠结了很久，我决定仿照源哥的操作方式，来写一篇代码文；</span><br style="color: #444444;" /><br style="color: #444444;" /><br style="color: #444444;" /><span style="color: #444444;">17年8月，我写了一篇曲线相似的文章，主要是用来判断两条股票走势，这是基于一条基本理论，历史是相似的，你找到类似的的趋势，将来会有大概率往这个方向去发展，当时讲了若干种方法，本文主要讨论这个操作的实现；</span><br style="color: #444444;" /><br style="color: #444444;" /><span style="color: #444444;">做这个事情主要分为两步，第一步是获取股票历史数据，第二步是算出相似度</span><br style="color: #444444;" /><br style="color: #444444;" /><br style="color: #444444;" /><span style="color: #444444;">获取历史数据主要是以下操作，我大部分获取数据的方式是通过python来获取</span><br style="color: #444444;" /><span style="color: #444444;">1. 首先安装python环境，我一般装python2.7,python里面2.*和3.*是完全不一样的，这个baidu一下就可以了；</span><br style="color: #444444;" /><span style="color: #444444;">2. 然后装python的pip或者easy_install，python大部分的库都是可以通过这两个来很方便的装上的，类似于yum的操作；</span><br style="color: #444444;" /><a href="http://www.yiluwan.org/blog/wp-content/uploads/2019/03/easy_install.png"><img class="alignnone size-medium wp-image-793" src="http://www.yiluwan.org/blog/wp-content/uploads/2019/03/easy_install-300x113.png" alt="easy_install" width="300" height="113" /></a><br style="color: #444444;" /><span style="color: #444444;">3. 装主要的机器学习库，如matplotlib,numpy,sklearn,scipy, tensorflow,caffe2,python是目前来说机器学习的主流语言，常用的机器学习库都有，这些库里不仅有csv的常用操作，如类似于read_csv这些,也有各种画图操作，还有基本上你书上学到所有算法，都能在python库里找到，如简单的knn,kmeans，复杂一点的集成学习等，包括算auc,roc都能，基本都可以;这个稍微麻烦一点就是依赖库的安装，国外的源比较慢，国内的用douban,阿里，清华的源都可以；然后还有一种其他的方式，装Anaconda，对所有的语言来说，最复杂的是装环境，anaconda就是解决这个问题，他把主流的操作都封到一个python版本里，虽然文件大一点，但是只要装好了，就全部装好了；</span><br style="color: #444444;" /><span style="color: #444444;">4. 获取股票数据,我一般用tushare，tushare可以理解是一个抓取库，他把网上一些股票来源，如新浪，网易财经等，获取后做完数据清洗，作为公共的数据来源；需要先安装pandas，然后easy_install tushare就可以了，如下图，get_k_data，filename是股票id，然后给出起始时间就可以了；网站是</span><a style="color: #336699;" href="http://tushare.org/" target="_blank">http://tushare.org/</a><br style="color: #444444;" /><img class="alignnone size-medium wp-image-795" src="http://www.yiluwan.org/blog/wp-content/uploads/2019/03/get_data-300x36.png" alt="get_data" width="300" height="36" /><br style="color: #444444;" /><br style="color: #444444;" /><span style="color: #444444;">如下图所示，就是一个股票的数据，包括open,close等参数；</span><br style="color: #444444;" /><img class="alignnone size-medium wp-image-799" src="http://www.yiluwan.org/blog/wp-content/uploads/2019/03/xxxx-300x102.png" alt="xxxx" width="300" height="102" /><br style="color: #444444;" /><br style="color: #444444;" /><br style="color: #444444;" /><br style="color: #444444;" /><span style="color: #444444;">然后我们进入第二个阶段，就是实现阶段，那篇文章主要是实现两条曲线相似性 </span><a style="color: #336699;" href="http://hlhome.xiaojukeji.com/forum.php?mod=viewthread&amp;tid=153" target="_blank">http://hlhome.xiaojukeji.com/forum.php?mod=viewthread&amp;tid=153</a><span style="color: #444444;">；</span><br style="color: #444444;" /><span style="color: #444444;">这里就快速过一下，因为之前讲过，或者可以百度：</span><br style="color: #444444;" /><span style="color: #444444;">1. 欧式距离</span><br style="color: #444444;" /><span style="color: #444444;">2. 皮尔森</span><br style="color: #444444;" /><a href="http://www.yiluwan.org/blog/wp-content/uploads/2019/03/person.png"><img class="alignnone size-medium wp-image-798" src="http://www.yiluwan.org/blog/wp-content/uploads/2019/03/person-300x189.png" alt="person" width="300" height="189" /></a> <br style="color: #444444;" /><span style="color: #444444;">3. 加速度算面积</span><br style="color: #444444;" /><span style="color: #444444;">4. 狗绳距离，具体见下图</span><br style="color: #444444;" /><a href="http://www.yiluwan.org/blog/wp-content/uploads/2019/03/frech.png"><img class="alignnone size-medium wp-image-794" src="http://www.yiluwan.org/blog/wp-content/uploads/2019/03/frech-300x209.png" alt="frech" width="300" height="209" /></a><br style="color: #444444;" /><span style="color: #444444;">我们随便拿出两段数据，画个图显示一下：</span></p>
<p><a href="http://www.yiluwan.org/blog/wp-content/uploads/2019/03/1最开始取0-100和100-200的图.png"><img class="alignnone size-medium wp-image-792" src="http://www.yiluwan.org/blog/wp-content/uploads/2019/03/1最开始取0-100和100-200的图-300x180.png" alt="1最开始取0-100和100-200的图" width="300" height="180" /></a><br style="color: #444444;" /><br style="color: #444444;" /><span style="color: #444444;">我们那159915的数据，然后根据过去3年的数据，每100天作为一个图像输入，第一个作为基准输入，然后从节点200开始，每20天作为一个时间切片的起始点，来算两段图像的相似度，把距离最短的保存起来，然后用于展示，最后的图像如下图所示；</span><br style="color: #444444;" /><img class="alignnone size-medium wp-image-800" src="http://www.yiluwan.org/blog/wp-content/uploads/2019/03/正常算距离-300x124.png" alt="正常算距离" width="300" height="124" /><br style="color: #444444;" /><br style="color: #444444;" /><a href="http://www.yiluwan.org/blog/wp-content/uploads/2019/03/m正常.png"><img class="alignnone size-medium wp-image-796" src="http://www.yiluwan.org/blog/wp-content/uploads/2019/03/m正常-300x180.png" alt="m正常" width="300" height="180" /></a></p>
<p><span style="color: #444444;">目前来看，狗绳算法效果稍微好一点；</span><br style="color: #444444;" /><br style="color: #444444;" /><span style="color: #444444;">接下来，我说另一个数据处理一定会做的事，就是归一化，常用的归一化方式可以百度</span><br style="color: #444444;" /><span style="color: #444444;">我这里用的Min-Max Normalization，也就是x∗=(x−min)/(max−min)，这样就把x归到0-1之间去了，这个算法不好的地方，就是一旦有一个极值，数据就不好看了，因为分母特别大；</span><br style="color: #444444;" /><br style="color: #444444;" /><span style="color: #444444;">其他算归一化的方式，还有zscore（x∗=(x−μ)/σ），这是认为数据符合正态分布的；这些实现numpy里面都有，然后得到了下图；</span><br style="color: #444444;" /><img class="alignnone size-medium wp-image-797" src="http://www.yiluwan.org/blog/wp-content/uploads/2019/03/norm1-300x180.png" alt="norm1" width="300" height="180" /><br style="color: #444444;" /><br style="color: #444444;" /><span style="color: #444444;">还是有点不像，所以说曲线相似也不好搞，而且股票还有一些问题，因为你不能用全部的股票集来算训练，因为很容易过拟合（想想为啥容易过拟合），我一般做到这里，然后用相似函数作为核函数用kmeans来聚类，或者直接选取几种图形来算相似度，也是解法，</span><br style="color: #444444;" /><span style="color: #444444;">发现字数够了，然后后面的事，我抽空继续写写</span><br style="color: #444444;" /><br style="color: #444444;" /></p>
]]></content:encoded>
			<wfw:commentRss>https://www.yiluwan.org/blog/?feed=rss2&#038;p=791</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2018年二三事</title>
		<link>https://www.yiluwan.org/blog/?p=779</link>
		<comments>https://www.yiluwan.org/blog/?p=779#comments</comments>
		<pubDate>Thu, 10 Jan 2019 17:43:26 +0000</pubDate>
		<dc:creator><![CDATA[liyunfei]]></dc:creator>
				<category><![CDATA[技术]]></category>

		<guid isPermaLink="false">http://www.yiluwan.org/blog/?p=779</guid>
		<description><![CDATA[]]></description>
				<content:encoded><![CDATA[<p>每个人都有一个真实的自己和一个表面上的自己，把这两个协调好，其实并不是特别容易的事情；2018年对我来说，不算太好，当然也不算太坏，回想起来，最大的收获，就是老板给了一个机会，让自己去做一些想做的事情，从结果来看，并没有达到我的预期，但是也是学到了很多东西，这一年还是很多收获的；</p>
<p>我很早之前就很喜欢一句话，这个世界上大部分人并没有到要比拼天赋才能成功的时候；很多时候你获得一些东西，并不是你牛逼，其实也就是你运气好，但是我为什么喜欢这句话了，因为我相信大部分人，包括我自己，还有机会；只要你做好足够的准备，只有你运气到了，一定是可以的；有些话很玄乎，一般也就是忽悠人，什么一切的必然都是偶然，或者所有的偶然都是必然；</p>
<p>当然这些都是废话，这一年回忆起来，有几件事，会是特别的印象深刻；</p>
<p>一个是单车日单量做到6.17，这个完全是一个忽悠人加强迫人的操作手法，当时运营对刷单这件事，其实内部是有两种意见的，更多的时候，反对的意见是占了上风，推动他们其实很难；这里面有两个很关键的点，一个是alyssa，alyssa菇凉是一个特别有主见有想法，且想做一件事的人，有闯劲，当时的alyssa菇娘刚刚转岗到分时，那个时间点很重要，另外一个是忽悠海杰说了一句，那么我们就本周做到5单把，当时fancy还没来，没啥人管，就拿着鸡毛做了令箭，建了一个5单群，把单车日单量到5单，变成了一个政治任务。。。。。其实很多事情也就是这样，就好像营销这件事，说到本质，其实就是补贴，补贴到位了，触达渠道、产品、活动，不要做的太差，自然就起来了，所以很快那周单车日单量就到了5单，然后就又起了新的政治目标，全周的单车日单量平均到5单，然后把之前没有进入又有些想法的立炜拉进来，BC端一联合，就刷出了当时到现在的最高单，6.17单，其实还可以刷的，补贴率才45%，但是这个时候，有些局已经瞒不了了，内部对45%的补贴率非常不满，所以之后也就那么回事，直接就开始降补贴率了；现在回头来看，这个6.17和年底的毛利做正，是一样的，都是非常重要的标志，或者是信心；所以虽然这一年结果和我预期的不一样，但是现在来看，至少这两点，对结果、对老板都是非常重要的结果；当然后面的毛利做正，我也就是打了个辅助，大部分都是运营宗炜、万老板的功劳，这也就不说了；</p>
<p>上面是kpi方面的，第二件事其实是抽人的事情，我这个人向来都是偏乐观，所以对别人的答复一般都是好，虽然最近也开始收一收了，哈哈，不敢给别人太乐观的结论；因为发现你一乐观，人家就直接干了；抽人这个事情分为三个阶段，前期是偏乐观的答应，毕竟是支持老板的安排，拥抱变化，能做的也就是帮助之前的同学，帮他们去拿到一个相对来说比较有利的结果，不要让他们变成牺牲品；第一个阶段其实是短暂也不算痛苦的，毕竟我觉得和人沟通也算是我的一个优势，和人交心，好处坏处一说，大家都是开心的结果；第二个阶段对我来说才是比较痛苦的，回过头来看，确实也不算是太复杂的系统，但是真的是没办法干完，一天干14个小时，每周干个6天以上，也干不完，后面有运营有产品在argue你，第一次在40人的会上argue你人少了会延期，我也就脸皮厚一点，当第二次，第三次说你延期的时候，压力突然就来了，同时违章也出了一堆的问题，而且新工单上线那个惨无人睹，当时确实是非常大的压力；当然也确实感谢黄总&amp;辉哥&amp;源哥&amp;林沁&amp;丁菁&amp;燃佳的支持；那个时候真的不是1,2个diss你，是10个，20个人天天diss你，那一段时间对我心气的一个培养，很重要；也是那句话，人觉得痛苦的时候，才是成长最快的时候，那个时候常常一个人凌晨一点逛西湖，也就是放松一下心情，当然从涨价以后，也就不去了；人一辈子，不会是一直顺的，决定一个人能走多远的，除了天赋和努力，更多的是韧性，百折不挠才是千仞钢，那2-3个月对我来说，韧性的提升才是对我最大的提升；</p>
<p>然后是第三点了，这一年我对自己最大的改变，其实是把目标集中了，以前我会同时看很多个事情，都是大事情，最后的结果其实是每一件看起来都算不坏，但是也仅仅是不坏，这一年我聚成一件事，从目前来看，虽然也还是不坏这个评价，但是这一年我确实学到了很多东西，主要是这一年和运营不仅仅是点头做个朋友，而是更加实实在在的去做事情，去看这个事情真正的问题是什么，这个流程是很重要的，同理心、细心、耐心都算是提升；我这个人的兴趣其实很广，从玩游戏，看小说，看动漫，体育运动，旅游，逛吧，刷抖音，这是优势也是弱势，聚焦才能获得收益。。发散只能忽悠小姑娘；未来我会尽量聚焦，这是一个趋势，也是个提升；发散是为了消遣，聚焦才是为了结果；</p>
<p>整体来说，18年还是不错的，认识了很多的人，结成了还不错的关系，19年，希望自己能够有更多的提升，留在另一个文章里说吧；</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>https://www.yiluwan.org/blog/?feed=rss2&#038;p=779</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>简单看hubspot</title>
		<link>https://www.yiluwan.org/blog/?p=737</link>
		<comments>https://www.yiluwan.org/blog/?p=737#comments</comments>
		<pubDate>Sun, 27 May 2018 18:03:08 +0000</pubDate>
		<dc:creator><![CDATA[liyunfei]]></dc:creator>
				<category><![CDATA[技术]]></category>

		<guid isPermaLink="false">http://www.yiluwan.org/blog/?p=737</guid>
		<description><![CDATA[]]></description>
				<content:encoded><![CDATA[<p><span style="color: #444444; font-family: 微软雅黑;">前几天听人说了hubspot这个项目，今天写文章，正好乘着这个机会去了解了一下；</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;"><br />
</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">首先简单介绍一下hubspot这个项目，hubspot成立于2006年，14年10月在纽交所上市，之后2.5年的时间，营收从1.2亿美金增长到2.7亿美金，他做的主要事情是营销自动化，面向的对象是to B；</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;"><br />
</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">营销自动化是指通过营销软件，将邮件、社交媒体和网页上的多次重复操作转为自动化完成，提升客户营销的效率和精准度。</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;"><br />
</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">上面是网上搜到的解释，然后hubspot实际上做的是将整体流程分为4块：</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;"><br />
</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">1. 引流</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">2. 转化</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">3. 成交</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">4. 口碑营销</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;"><br />
</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">然后分开处理，整体打包，这四块差不多类比于现在的C端拉新，端内C端漏斗，leads跟踪对应的CRM系统，后服务等等；hubspot将这整体的系统流程化和标准化了，我觉得挺好的；这个系统对当前的车商城，基本上是量身匹配的，而且因为to B的业务大部分都有一个线下成交的过程，所以整个系统和一般的to C 的营销还不一致；</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;"><br />
</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">简单放了一个图，可以看到各部分分别作了些什么；</span><br style="color: #444444;" /><a href="http://www.yiluwan.org/blog/wp-content/uploads/2018/05/020139xdwgqy616uqfrig9.jpg"><img class="alignnone size-medium wp-image-738" src="http://www.yiluwan.org/blog/wp-content/uploads/2018/05/020139xdwgqy616uqfrig9-300x168.jpg" alt="020139xdwgqy616uqfrig9" width="300" height="168" /></a><br style="color: #444444;" /><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">第一块就是现在的拉新，可以按渠道分为微信、SEO&amp;SEM、媒体工具等等；如果按另外的维度分，可以有内容营销、活动营销、用户运营等等，按工具来分，可以有活动制作工具、网站打分、移动页面优化、用户生命周期等等，根据分法的不通，这些子类目都可以做成不同的系统出来；</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;"><br />
</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">第二块转化指的是端内的优化，数据获取，落地页优化，基于场景的营销等等；</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;"><br />
</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">第三块指的是在线上下单之后，用户需要去线下去完成订单，但是这个过程中，用户流失特别明显；这里面有一个CRM系统，还会有leads跟踪，用户评分，销售提醒等等，除此之外可能会有邮件优化，短信优化等等</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;"><br />
</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">第四块是在于我们完成订单后，需要对用户进行持续的跟踪，类似于现在NPS，当然我们还可以做其他的事情来提升口碑，比如用户反馈，微信拉群等等；</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;"><br />
</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">其实回过头来，这四个点我们大部分的系统都有，对大部分to C，第三块内容是没有的，更关注的是1，2，4，这样看来，</span><span style="color: #444444; font-family: 微软雅黑;">作为一家15亿美金的公司，貌似也米有做多少东西嘛；而且国内貌似也米有成功做好的公司，这肯定有原因的；另外</span><span style="color: #444444; font-family: 微软雅黑;">to B的工具往往都是收费的，不收费别人反而不敢用，这样看来，今年揉吧揉吧，明年可以整一套系统拿出去卖了；</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;"><br />
</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">最后从to C的角度来看，我们第三点暂时不用做，第二点主要是提供数据支持，这样来看，自动化埋点还是需要的，对于拉新来说，常用的拉新工具，我觉得自动做活动页，微信端数据营销，裂变营销都是比较重要的部分，而且现在第四点也做得不好，如何让用户觉得我们产品好，及时给一些反馈，也是个很重要的东西，这里也是可以去整一个方法论的；</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;"><br />
</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">大体就是这样，对营销来说，这里面是有很深的学问的，今年的一个主要的方向，也是如何抽象出营销，使之变成一个可以迁移的高效系统；</span></p>
]]></content:encoded>
			<wfw:commentRss>https://www.yiluwan.org/blog/?feed=rss2&#038;p=737</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>windows安装ta-lib</title>
		<link>https://www.yiluwan.org/blog/?p=717</link>
		<comments>https://www.yiluwan.org/blog/?p=717#comments</comments>
		<pubDate>Mon, 29 Jan 2018 14:56:49 +0000</pubDate>
		<dc:creator><![CDATA[liyunfei]]></dc:creator>
				<category><![CDATA[技术]]></category>

		<guid isPermaLink="false">http://www.yiluwan.org/blog/?p=717</guid>
		<description><![CDATA[]]></description>
				<content:encoded><![CDATA[<p style="color: #454545;">1、在windows中安装TA-Lib，首先下载LA-Lib的whl文件：</p>
<p style="color: #454545;"><a style="color: #ca0c16;" href="http://www.lfd.uci.edu/~gohlke/pythonlibs/" target="_blank">http://www.lfd.uci.edu/~gohlke/pythonlibs/</a></p>
<p style="color: #454545;">
<p style="color: #454545;">2、命令行安装</p>
<p style="color: #454545;">在cmd中，转到whl文件所在目录，输入如下命令：</p>
<p style="color: #454545;">pip install whl文件名</p>
<p style="color: #454545;">安装成功，到这里已经可以用了</p>
<p style="color: #454545;">
<p style="color: #454545;">3、检查</p>
<p style="color: #454545;">查看python安装目录下的site-packages目录中，是否存在tablib文件夹</p>
<p style="color: #454545;">
<p style="color: #454545;">
<p style="color: #454545;">4、测试</p>
<p style="color: #454545;">使用环境为eclipse python</p>
<p style="color: #454545;">直接import不报错</p>
<p style="color: #454545;">
<p style="color: #454545;">5、附下载python的TA-lib压缩包，网址为：</p>
<p style="color: #454545;"><a style="color: #ca0c16;" href="http://mrjbq7.github.io/ta-lib/func" target="_blank">http://mrjbq7.github.io/ta-lib/func</a></p>
]]></content:encoded>
			<wfw:commentRss>https://www.yiluwan.org/blog/?feed=rss2&#038;p=717</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>集成学习简介</title>
		<link>https://www.yiluwan.org/blog/?p=712</link>
		<comments>https://www.yiluwan.org/blog/?p=712#comments</comments>
		<pubDate>Mon, 29 Jan 2018 02:28:41 +0000</pubDate>
		<dc:creator><![CDATA[liyunfei]]></dc:creator>
				<category><![CDATA[技术]]></category>

		<guid isPermaLink="false">http://www.yiluwan.org/blog/?p=712</guid>
		<description><![CDATA[]]></description>
				<content:encoded><![CDATA[<p><span style="color: #444444; font-family: 微软雅黑;">最近在学习的时候，用到bagging和boosting的方法，所以在这里做一个简单介绍；</span><br style="color: #444444;" /><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">我们在做机器学习的时候，经常会很头疼，很多时候，我们选了不少的特征，做了很多的优化，但是准确率和召回率，到了一定的程度，他就不上去了,这种时候就会很头疼，当然这种时候也有很多的解决方法，增加数据集、换模型、优化特征清洗都是不错的方法等等，这里介绍另外一种思路，去解决这些问题；</span><br style="color: #444444;" /><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">提出bagging算法的人，其实我想就是受了日常一个非常简单的原理启发：当我们遇到一个问题不是很清楚，或者大家有分歧的时候，大家用的最简单的方法，就是投票吧，把这个理论应用到机器学习,bagging就是最简单的resample方法，通过从一个训练集随机选出N个子训练集，然后用来训练模型，训练出来的模型准确率只要大于0.5就可以留着，然后通过这若干个模型的投票，来确定最后的结果，就是bagging的简单介绍；这样将若干个弱分类器通过投票就变成了一个强分类器，准确度更高。另外，通过可放回的抽样，保证了这个套路可以并发进行，从工程的角度来看，可以使计算速度更快；</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;"><a href="http://www.yiluwan.org/blog/wp-content/uploads/2018/01/1.jpg"><img class="alignnone size-medium wp-image-713" src="http://www.yiluwan.org/blog/wp-content/uploads/2018/01/1-300x146.jpg" alt="1" width="300" height="146" /></a><br />
adaboosting是另外一种resample的方法，首先用训练集训练出一个模型，然后用这个模型进行分类，再将分类分错的样本拿出来，训练出第二个模型，第二个模型具有更高的权值，这样反复迭代，可以得到一个强分类器，可以保证全局最优；但是这个策略的问题是，如果有一些异常值，就会导致整个策略的效果不好；</span><br style="color: #444444;" /><a href="http://www.yiluwan.org/blog/wp-content/uploads/2018/01/2.jpg"><img class="alignnone size-medium wp-image-714" src="http://www.yiluwan.org/blog/wp-content/uploads/2018/01/2-300x191.jpg" alt="2" width="300" height="191" /></a><br style="color: #444444;" /><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">其他还gbdt,xgboost,等之后系统的看一下的时候，再来写吧；</span><br style="color: #444444;" /><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">然后记一下最近看到另外一篇文章，通过以下方法可以有效提升机器学习的准确度：</span><br style="color: #444444;" /><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">1. 增加更多数据</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">2. 处理缺失值和异常值</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">3. 特征工程学，a.归一化，b.把不均匀分布变成正态分布或其他，c.分箱，d.建新特征</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">4. 特征选择，pca, lca等，可视化，</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">5. 用多种算法</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">6. 调整参数</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">7. 集成学习</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">8. 交叉验证</span><br style="color: #444444;" /><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">这里以备以后复习；</span></p>
]]></content:encoded>
			<wfw:commentRss>https://www.yiluwan.org/blog/?feed=rss2&#038;p=712</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>案例二：如何有效引导用户使用滴滴租车</title>
		<link>https://www.yiluwan.org/blog/?p=703</link>
		<comments>https://www.yiluwan.org/blog/?p=703#comments</comments>
		<pubDate>Mon, 22 Jan 2018 05:41:32 +0000</pubDate>
		<dc:creator><![CDATA[liyunfei]]></dc:creator>
				<category><![CDATA[技术]]></category>

		<guid isPermaLink="false">http://www.yiluwan.org/blog/?p=703</guid>
		<description><![CDATA[]]></description>
				<content:encoded><![CDATA[<p>滴滴打车和滴滴专车人群，并非和租车用户在场景上吻合；滴滴在推出租车服务后，通过重新分析专车和快车人群的多个维度特征，抽取与租车存在联系的画像特征，打标签，并进行训练。随后引入ab测试模型，并设计闭环数据产品，在不断对比和优化过程优化好推荐租车服务的模型，配合优惠政策，从而达到较好引导用户的效果；</p>
<p>&nbsp;</p>
<p><strong>一、背景</strong></p>
<p>我们是从16年下半年开始做租车的，刚开始做的时候觉得比较简单，因为滴滴是一家非常强运营的公司，而且当时滴滴的用户已经很多了，那我们那时想，既有流量，又有运营方式，那么租车的快速成长是显而易见的事情，但是在实际做的时候，我们发现并不是这样，专车和快车的用户人群，都是短途出行的人群，他们的特征是短频快，而租车是一项较长期决策的过程，两者的用户既有重叠，也有不相关，所以当时如何利用滴滴自身的资源去快速的把租车的用户找到(流量获取)并且引导他们下单（提升转化）就成了当时我们最重要的两个问题；</p>
<p><strong>二、流量获取</strong></p>
<p>首先讲流量获取，流量获取是所有app最头疼的事情，其实我们还占了一个比较大的优势，因为我们已经有了一个成熟的app，所以不用费多少劲就有不少的流量进来，这点是优势，但是对所有的app来说，流量是永远觉得少的，今天主要讲的是，如何通过和滴滴的数据结合找到我们的精准用户并引导他们进来；</p>
<p>当时我们主要考虑的点是两个，一点是找到用户租车的场景，在什么时间、什么地点、什么人会有一个租车的需求，另外一点是我们怎么利用滴滴的数据去找到这些人、时间和地点；第一个想到的场景是旅游，因为我有小孩，所以自己在旅游的时候，确实是需要租一个车的，这样小孩很多东西都会比较方便；当时的第一个目标就是怎么找到这些人，旅游嘛，第一个自然是订机票或者火车票，所以，最好的嵌入场景是在买机票或者火车票的时候，下面放一个租车的按钮；但是我们没有呀，我甚至当时想要不要做个滴滴卖机票，反正滴滴也没有，滴滴作为一站式出行平台，应该解决所有的出行问题嘛。。后面从成本的考虑，我们退而求其次了，滴滴有用户的出行数据，所以我们当时根据用户出行的行为，来寻找潜在的目标用户，主要有三种：在机场和火车站画个电子围栏，如果打车出现在这附近，那会给他做一个旅行的标签；针对异地打车的用户，和他们的常驻城市做一个对比，给他们打上另外一个旅行的标签；我们会根据用户的历史的行为，比如性别、年龄、出现在机场次数、过去3个月去过多少城市、专快的订单比例等等，用lr或者决策树去做个预测分类，判断该用户是否是旅游人士，打上第三个标签；其中前两个会更重时效性，对这些用户，会发券以及给出若干优惠活动，刺激他们来租我们的车；当然针对亲子游的用户，还会加上安全座椅的活动；这个在旅游城市，比如成都和青岛，效果都还不错；</p>
<p>另外一个旅游场景是周边游，这个也是很大的一部分用户群体，这个的做法主要是标注了一些旅游景点，然后根据用户去景点的次数，旅游人士的概率，来判断用户是否是一个周边游的用户，然后结合景点门票优惠和用户的消费能力，定期对相关用户做一些推送，这个是搭配旅游一起做的，效果一般吧，还有很多可以研究的地方；</p>
<p>有些场景是可以直接通过规则找到的，而另外一些场景可能是需要模型来做的，比如我们在推送的时候会遇到最大的一个问题，我们的用户并不一定会打开滴滴app，而且还会把通知关掉，这样就会有很多的推送是无效的推送，因为发过去，我们的用户看不到，而公司对每个产品线的推送数量又是有所限制的，所以我们根据用户历史打开app的行为，去做了一个预测用户是否今天会打开app的操作，这个东西很简单，但是却极大的提升了触达率；</p>
<p>刚开始的时候，我们其实就是这样一个一个按场景去找的，把场景找到了，做推送，分析效果，猜测原因，继续优化，在这个基础上我们还引入了一些模型，通过模型我们把用户历史的一些打车行为加进来，比如消费能力、打车地点、是否商旅人士等等，通过lr或者svm来训练模型，用来排序，深度学习也在研究中，预计今年也会把这个加到算法中，对每一个场景可能会有个标签，加上滴滴本身的用户画像，就成了一个标签系统，每天大概会有上百个这样的特征人群吧，然后通过运营平台，对用户进行推送；其中一部分推送用户是未验证效果的，通过做abtest来判断效果，另外一部分是验证后效果比较好的，就扔到一个自动推送平台去整体把控；</p>
<p>这个自动推送平台主要是两个功能，一个是因为公司限制，比如整体发送数量限制、同一用户不能发送多次，做一个对所有发送的统筹功能，另外一个就是对发送的内容和时间做管理的MIS系统；当然还有动态调控，根据标签的推送效果，来设置每个标签推送的数量，目标是保证整体的效果最优；这个效果还是比较明显的，推送的成本大概下降了90%以上，但是触达率反而有所增加；</p>
<p>中间还做了很多模型分析的工作，其中一个是希望把多个场景的特征做整理，从整体做一个模型去优化效果，这个我们做了很久，也试过不少方法，但是效果并不如单个场景的好，所以并没有一个整体的模型去一劳永逸的解决所以问题；而是将模型和场景的特征做了一些结合，这些结合的目标主要是因为我们推送的资源有限，需要在单个标签内部做一些排序，刚开始也是通过规则来做的，比如消费能力、时效性，后面加入了模型的方法，来保证整体最优；</p>
<p><strong>三、提升转化</strong></p>
<p>提升端内转化，是另外一个非常重要的问题，但是这个其实也挺难的，怎么改，怎么算改的好，对一个新产品来说，都是不太好解决的问题；之前我经历的一些新项目，大部分都是根据拍脑袋，然后事后验证，这样的结果有好的也有坏的，好处是决策快，坏处就是并不可控；</p>
<p>&nbsp;</p>
<p>我们的做法是在一开始做租车的时候，就做了一个详尽的数据跟踪和监控系统，对C端的所有的操作加上埋点，并且做了非常好的数据可视化；通过这些可视化，我们既可以看到整体的转化效果，每个页面的拦截率，每个按钮的点击率，也能看到某群人的转化效果，比如家庭游用户的转化、行为路径等，还能看到每个人的历史操作，事实证明这个系统对之后产品的优化影响非常明显；</p>
<p>通过这些，我们既可以对一些宏观的问题，很快的找到问题的关键，然后做适当的处理；比如上线不久，我们就发现在列表页到详情页的漏斗，拦截了90%以上的人，然后我们看了一下，全部是中间的某个风控操作拦截的；我们分析了一下，因为风控需要扫描身份证，但是对很多人来说，身份证并不一定在身边，所以很多人就直接走了；但是扫描身份证是不是必须的了？我们和风控的同学讨论了一下，发现并不是，就把这个改成了手输身份证号码，一下子降低了一半的拦截率，效果还不错；</p>
<p>再举个例子，我们在做用户分析的时候，发现有很多用户的行为很简单，要么访问首页，要么访问一下列表页，然后就直接退走了，有的用户甚至一天有几百次的这种行为，这个在整体看数据的时候，是很难看出来的，但是在数据分析的时候，却是很大的噪声，我们猜测这些是机器的行为，因为大部分属性都类似，所以做了一些统计，并根据统计结果做了一些过滤，事实也证明过滤后的数据更能看出用户的行为；</p>
<p>还有对新上线版本的评估，用户研究对产品的调研，运营标签的生成（如什么时间点是下单高峰），用户行为跟踪都是可以通过这个系统来完成的，事实也证明，效果还可以；</p>
<p><strong>四、展望</strong></p>
<p>我们过去一年做了一些事情，比如标签系统、运营平台、自动化推送平台、数据监控系统，有一些效果还是不错的；接下来还有更多的事情，比如讲深度学习运用到寻找用户，设计用户做自传播的活动框架，我们还会继续努力，有机会再和大家沟通；</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>https://www.yiluwan.org/blog/?feed=rss2&#038;p=703</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>关于代码积累</title>
		<link>https://www.yiluwan.org/blog/?p=690</link>
		<comments>https://www.yiluwan.org/blog/?p=690#comments</comments>
		<pubDate>Mon, 11 Dec 2017 17:55:32 +0000</pubDate>
		<dc:creator><![CDATA[liyunfei]]></dc:creator>
				<category><![CDATA[技术]]></category>

		<guid isPermaLink="false">http://www.yiluwan.org/blog/?p=690</guid>
		<description><![CDATA[]]></description>
				<content:encoded><![CDATA[<p><br style="color: #444444;" /><span style="color: #444444; font-family: 'microsoft yahei';"><span style="color: #000000;">       最近在和几个同学聊天的时候，都聊到了代码积累这个事情，但是回顾了这两年在滴滴，貌似把这个事情放下了，想想还是不行，未律己先律人，不是我的风格，所以前两天review了一下以前的代码，准备重新拾起这个，继续搞搞，在这之前，重新review一下历史，把之前的言论系统化一点；</span></span><br style="color: #444444;" /><span style="color: #444444; font-family: 'microsoft yahei';"><span style="color: #000000;"><br />
</span></span><br style="color: #444444;" /><span style="color: #000000;">       </span><span style="color: #444444; font-family: 'microsoft yahei';"><span style="color: #000000;">首先问大家一个问题，工作1年和工作5年的工程师有啥区别？这个问题就不用大家回答了，以我自己为例，工作5年的时候大概是t6+,相当于滴滴d8+，请允许我恬不知耻的给自己增加个+号，在百度或者滴滴，如果不出意外的话，基本上都需要带团队，向下管理团队，对上完成任务；这个阶段一般都是转型期，不仅要面临较多的管理任务（比较生疏），业务压力（没搞过），还要冲在一线去写大量代码（主要参与者），非常痛苦，这是目前这个互联网特别火的时代，工作5年运气比较好的同学肯定会出现的一种状态，而刚工作1年的基本上就是写代码，所以可以看出1年和5年的区别，就是写代码和写代码+管理+冲业务；</span></span><br style="color: #444444;" /><span style="color: #444444; font-family: 'microsoft yahei';"><span style="color: #000000;"><br />
</span></span><br style="color: #444444;" /><span style="color: #000000;">       </span><span style="color: #444444; font-family: 'microsoft yahei';"><span style="color: #000000;">当然这个不够直观，再问一个问题，工作5年和工作15年的工程师有啥区别？这就比较难答了，因为目前来说，工作15年的工程师只有两种，一种是互联网大佬，另外一种其实过得就比较郁闷了；因为对于互联网这个行业，变化的特别快，带团队也不是每个人都有机会，而现在中国的互联网开始火也就10几年，所以10+的工程师其实挺少，不容易变成现象级，再过个5-10年，中国会出现大量的工作10+年的工程师，其中管理者较少，懂业务的工程师在我这么多年看来，更加凤毛麟角，所以基本上剩下的可以断言：5-10年后，中国会存在大量工作经验10年+的纯技术的工程师，所以他们的区别是？一个写了5年代码，一个写了15年代码？</span></span><br style="color: #444444;" /><span style="color: #444444; font-family: 'microsoft yahei';"><span style="color: #000000;"><br />
</span></span><br style="color: #444444;" /><span style="color: #000000;">       </span><span style="color: #444444; font-family: 'microsoft yahei';"><span style="color: #000000;">而这个时候，工作15年的工程师其实往往比较郁闷的，因为和刚工作1-2年的工程师比，缺少精力，拖家带口，缺少热情，写代码比较慢（时代变化很快），效率降低，而另外一方面，却可能要求比工作1-2年高的多的工资，所以这个时候，从公司的运作来说，我相信公司很快就要想方设法赶你走了；</span></span><br style="color: #444444;" /><span style="color: #444444; font-family: 'microsoft yahei';"><span style="color: #000000;"><br />
</span></span><br style="color: #444444;" /><span style="color: #000000;">       </span><span style="color: #444444; font-family: 'microsoft yahei';"><span style="color: #000000;">代码积累可以解决一部分的问题，让你不用那么累，释放大量的时间，把有限的精力去思考更高级更有意义的事情上。。。当然也不能解决所有的问题，最好的方法还是升上去，或者财务自由。。。</span></span><br style="color: #444444;" /><span style="color: #444444; font-family: 'microsoft yahei';"><span style="color: #000000;"><br />
</span></span><br style="color: #444444;" /><span style="color: #000000;">       </span><span style="color: #444444; font-family: 'microsoft yahei';"><span style="color: #000000;">然后回顾一下我自己的代码积累，主要是分为3部分：</span></span><br style="color: #444444;" /><span style="color: #000000;">       </span><span style="color: #444444; font-family: 'microsoft yahei';"><span style="color: #000000;">1. 第一部分是基础框架和代码，大概从13年初开始，这个框架覆盖大部分python的统计逻辑、python服务器、还有lxml和beautifulsoup对网页解析的一些逻辑，几个html模板、php框架、常用php库、发包程序等等，基本覆盖了做流量魔方、快抓、知心UI、统计等的大部分功能，比较的个性化，但是梳理一下，搭搭网页什么的还是挺快的；</span></span><br style="color: #444444;" /><span style="color: #000000;">       </span><span style="color: #444444; font-family: 'microsoft yahei';"><span style="color: #000000;">2. 第二部分和第三部分都是没成框架的，之前没有抽空梳理清楚，后面也就忘了；第二部分主要是一些策略的功能，包括切词、plsa、词性、主干分析、行业分类等一系列核心功能，还有gss/as/bs等等，这些都是原始代码，可以搭服务器，不过这个貌似没啥应用场景，搞老东家的给别人也不太好，所以还是偏理解为主；</span></span><br style="color: #444444;" /><span style="color: #000000;">       </span><span style="color: #444444; font-family: 'microsoft yahei';"><span style="color: #000000;">3. 第三部分是这两年整理的一些机器学习的算法，还有图像相似等等，这个之后找机会融进第一部分框架去，其实本来还有以前一些ub_server这种基础框架的，但是出来之后，发现写C的确实不多，用C的服务器，还不如用http或者python服务器凑合用用，这个就以后再说吧；</span></span><br style="color: #444444;" /><span style="color: #444444; font-family: 'microsoft yahei';"><span style="color: #000000;"><br />
</span></span><br style="color: #444444;" /><span style="color: #444444; font-family: 'microsoft yahei';"><span style="color: #000000;"><br />
</span></span><br style="color: #444444;" /><span style="color: #000000;">       </span><span style="color: #444444; font-family: 'microsoft yahei';"><span style="color: #000000;">接下来讲讲未来的一些计划，前几天稍微和文涛讨论了一下，我们接下来可以做的代码，从小到大可以是：</span></span><br style="color: #444444;" /><span style="color: #000000;">       </span><span style="color: #444444; font-family: 'microsoft yahei';"><span style="color: #000000;">3.1 组件，最基本的功能（比如按钮、python服务器等）</span></span><br style="color: #444444;" /><span style="color: #000000;">       </span><span style="color: #444444; font-family: 'microsoft yahei';"><span style="color: #000000;">3.2 模板（网页）</span></span><br style="color: #444444;" /><span style="color: #000000;">       </span><span style="color: #444444; font-family: 'microsoft yahei';"><span style="color: #000000;">3.3 模块（搜索）</span></span><br style="color: #444444;" /><span style="color: #000000;">       </span><span style="color: #444444; font-family: 'microsoft yahei';"><span style="color: #000000;">3.4 系统（MIS）</span></span><br style="color: #444444;" /><span style="color: #000000;">       </span><span style="color: #444444; font-family: 'microsoft yahei';"><span style="color: #000000;">3.5 复杂系统 （海外租车）</span></span><br style="color: #444444;" /><span style="color: #000000;">       </span><span style="color: #444444; font-family: 'microsoft yahei';"><span style="color: #000000;">可以分为这样简单的5个阶段，现在我们在1,2两个阶段做的还不错，在第3个阶段也有一些积累，这也是过去一段时间做的不错的最主要的原因；接下来可以分为几步走，从逻辑上：</span></span><br style="color: #444444;" /><span style="color: #000000;">       </span><span style="color: #444444; font-family: 'microsoft yahei';"><span style="color: #000000;">1. 继续积累组件和模板；</span></span><br style="color: #444444;" /><span style="color: #000000;">       </span><span style="color: #444444; font-family: 'microsoft yahei';"><span style="color: #000000;">2. 逐步搭建新的模块；</span></span><br style="color: #444444;" /><span style="color: #000000;">       </span><span style="color: #444444; font-family: 'microsoft yahei';"><span style="color: #000000;">3. 梳理可以通用的系统，并组装；</span></span><br style="color: #444444;" /><span style="color: #000000;">       </span><span style="color: #444444; font-family: 'microsoft yahei';"><span style="color: #000000;">4. 复杂系统上，尽量轻量级，不要做太多的耦合；</span></span><br style="color: #444444;" /><span style="color: #000000;">       </span><span style="color: #444444; font-family: 'microsoft yahei';"><span style="color: #000000;">从实施上，可以稍微抽象一些，拉更多的同学去讨论、实施，然后在这个基础上，相互碰撞，形成一些代码库，可以起到2个作用，一方面可以提高大家的开发速度，另外一方面如果能产生开源的东西，也是个人影响力的一些体现，所以未来一年我也会投一些精力往这个方向努力努力；</span></span></p>
]]></content:encoded>
			<wfw:commentRss>https://www.yiluwan.org/blog/?feed=rss2&#038;p=690</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>精益创业</title>
		<link>https://www.yiluwan.org/blog/?p=687</link>
		<comments>https://www.yiluwan.org/blog/?p=687#comments</comments>
		<pubDate>Thu, 16 Nov 2017 12:09:17 +0000</pubDate>
		<dc:creator><![CDATA[liyunfei]]></dc:creator>
				<category><![CDATA[技术]]></category>

		<guid isPermaLink="false">http://www.yiluwan.org/blog/?p=687</guid>
		<description><![CDATA[]]></description>
				<content:encoded><![CDATA[<p><span style="color: #444444; font-family: 微软雅黑;">       </span><span style="color: #444444; font-family: 微软雅黑;">写在前面的话：</span><span style="color: #444444; font-family: 微软雅黑;">大半夜的写文章，说出来都是泪。。自己挖的坑，跪着也要填完~</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;"><br />
</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">       前段时间去听了qcon，当时听了微盟的CTO讲微盟的发家史，就一直想写点东西出来；毕竟这个公司里有不少人就是从隔壁组出去的，也还算熟悉；他们讲的是精益创业，当时听得了一些皮毛，毕竟精益也不算是什么新的东西，然后看了看书，所以今天总结一下，发表一些自己的观点；</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;"><br />
</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">       </span><span style="color: #444444; font-family: 微软雅黑;">本文分为三部分，第一部分介绍我对精益的看法，第二部分系统的介绍精益创业的思想，第三部分结合海外租车来讲讲我的计划：</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;"><br />
</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">       </span><span style="color: #444444; font-family: 微软雅黑;">最近几年，觉得精益这个词都说腻了，创业或者稍微有点想法的人，不说说精益，都不好意思对别人介绍自己，而像什么MVP更甚，基本大家说项目，言必谈我们做个MVP出来吧，但是实际上，我想说的是，这个世界说说容易，但是真正用精益来做事的人，少之又少，要把精益创业用在实践上，是有很高的门槛的，我就说说这其中几个门槛；</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;"><br />
</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">       </span><span style="color: #444444; font-family: 微软雅黑;">第一，精益创业需要有很高的执行力；这一条就可以干掉90%的人；同样一个事，一月做完和一周做完就是两码事，精益讲的是做最小可用品，快速迭代，快速上线，小步快跑，这几句话说起来很容易，但是能做到这几点的，基本没有；不信可以看看，在我们的大部分项目，是不是排期总是一拖再拖；这个排期不是指技术耗费多久，产品耗费多久，而是整个项目从开始到上线需要多久；我们大部分的人，基本分为几个阶段：1. 自己快速完成本职工作；2. 帮助别人快速完成工作；能做到第一点就很不错，能做到第二点基本就少之又少了（大部分都纠结于指责其他部门的人拖了自己的后腿）；这点放在前面，是因为对大部分项目，这个相对来说我觉得是最重要的，因为执行力是能保证你快速试错的前提；</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;"><br />
</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">       </span><span style="color: #444444; font-family: 微软雅黑;">第二，精益创业需要很强的数据sense以及数据支持；这条可以把剩下的人又刷了90%的人去；毕竟没有数据驱动的精益创业，基本上都是纸上谈兵；而建立一个完整的数据监控系统，能看到项目的瓶颈，即使在大公司的大部门，也很难做到；在小部门或者小项目中，能做到埋点，同时不定时的产出邮件报表，就已经很了不得呢；而没有好的数据指引，基本上连自己的目标和瓶颈都看不清楚，谈何精益创业，谈何做MVP，连优化的方向都不知道；</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;"><br />
</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">       </span><span style="color: #444444; font-family: 微软雅黑;">第三，精益创业，需要在最开始的时候找到种子用户，听取他们的意见，帮助MVP快速的成长；这个事情的关键是在于，听取意见的这个人，是能够决策或推动事情往前走的人，但是基本我们大部分的项目中，这个人是不会干这个事情的（或者不会听别人意见的），而小弟们即使干了这个事情，也发现很难推动事情往前进；</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;"><br />
</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">       </span><span style="color: #444444; font-family: 微软雅黑;">所以我觉得精益创业最重要的3点，数据支持、方向对、执行力强，这三点基本就能刷掉大部分的团队了；但是精益创业确实是不错的方法，我也希望在之后的工作中，可以好好使用，所以这里也把精益创业具体的内容介绍一下；</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;"><br />
</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">       </span><span style="color: #444444; font-family: 微软雅黑;">精益创业分为4个部分：</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">       </span><span style="color: #444444; font-family: 微软雅黑;">1. 开发一个可实验的“最小化可行产品”（MVP），用极为简单的功能，找到一部分人去测试，获得经证实的认知</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">       </span><span style="color: #444444; font-family: 微软雅黑;">2. 用最快的方式，最小的成本完成”开发-测量-认知“这个反馈循环</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">       </span><span style="color: #444444; font-family: 微软雅黑;">3. 通过小部分的早期用户，来验证两个基本的商业假设：价值假设和增长假设</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">       </span><span style="color: #444444; font-family: 微软雅黑;">4. 如果商业假设被验证成立，进一步扩大规模；如果失败，则立即考虑转型和另寻talus；</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;"><br />
</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;"><br />
</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">       </span><span style="color: #444444; font-family: 微软雅黑;">这里面有几个概念解释一下：</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">       </span><span style="color: #444444; font-family: 微软雅黑;">1. 经证实的认知指的是从真实顾客得到的真实信息</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">       </span><span style="color: #444444; font-family: 微软雅黑;">2. 开发-测量-认知：开发MVP，测试商业假设是否成立，获得经证实的认知</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">       </span><span style="color: #444444; font-family: 微软雅黑;">3. 价值假设：你的产品是否对用户有价值；用户是否会再次使用你的产品；</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">       </span><span style="color: #444444; font-family: 微软雅黑;">4. 增长假设：你的产品增长的方式是什么；用户是否会推荐给他人；</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;"><br />
</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;"><br />
</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">       </span><span style="color: #444444; font-family: 微软雅黑;">最近在做海外租车，打算用这个方法来套用一下：</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">       </span><span style="color: #444444; font-family: 微软雅黑;">1. 找到种子用户(通过线上给小渠道或者线下找目标用户）;</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">       </span><span style="color: #444444; font-family: 微软雅黑;">2. 快速反馈，得到用户的真实信息，快速执行；</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">       </span><span style="color: #444444; font-family: 微软雅黑;">3. 通过复购率和推荐率不断优化（分别看价值假设和增长假设）</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;"><br />
</span><br style="color: #444444;" /><span style="color: #444444; font-family: 微软雅黑;">       </span><span style="color: #444444; font-family: 微软雅黑;">当然在没有获取有用信息的前提下，还是按原计划执行，不过这里可以找一条新路，让我们能够看到用户真正的诉求是什么，以给出之后能迭代的一些点；</span></p>
]]></content:encoded>
			<wfw:commentRss>https://www.yiluwan.org/blog/?feed=rss2&#038;p=687</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>海外租车驾照</title>
		<link>https://www.yiluwan.org/blog/?p=671</link>
		<comments>https://www.yiluwan.org/blog/?p=671#comments</comments>
		<pubDate>Wed, 18 Oct 2017 04:58:25 +0000</pubDate>
		<dc:creator><![CDATA[liyunfei]]></dc:creator>
				<category><![CDATA[技术]]></category>

		<guid isPermaLink="false">http://www.yiluwan.org/blog/?p=671</guid>
		<description><![CDATA[]]></description>
				<content:encoded><![CDATA[<p>今天在想本周文章写啥，头疼欲裂，由此发现那些写网络小说的作者真是牛逼，可以每天持续几千字的产出，还能够质量不差，相比而言，自己真是弱爆了，最后逼着自己还是先写写最近做的事情，周末梳理个长期计划，以后按长期计划写，不然这样下去不是个事哈；</p>
<p>最近在做驾照的重构，引入新的驾照翻译方；从背景来说，这是件很有意义的事情，因为从之前收到的调研来看，驾照问题是影响用户最重要的几个因素之一，而我们之前的驾照翻译只有单纯的字面翻译，调用的是开源的库；这会遇到两个问题，第一是翻译的质量问题，直译会有很多翻译的不好的地方，比较难理解；另外一个方面，在很多场景下，这种直译的翻译件并不能起到驾照的凭证，应用场景比较狭窄；所以在现状的基础上，我们引入了新的翻译方，这个是可以通过国际认证的，所以可以应用于更多的场景；</p>
<p>本文介绍两部分，第一部分为老系统的架构，第二部分是新系统的架构；</p>
<p style="text-align: center;"> <a href="http://www.yiluwan.org/blog/wp-content/uploads/2017/10/1.png"><img class="alignnone size-medium wp-image-673" src="http://www.yiluwan.org/blog/wp-content/uploads/2017/10/1-300x169.png" alt="1" width="300" height="169" /></a></p>
<p>         原来的逻辑由一个页面构成：从首页进去后，填完所有的信息；点提交后，会将数据先入数据库；再通过第三方lib对数据进行翻译；翻译完成后，将数据入库；同时生产pdf文件，并将图片信息发送给用户；</p>
<p>&nbsp;</p>
<p>过程还是比较多的，主要是2个数据库操作，1个翻译，1个生成图片，1个发送邮件，会涉及多个外部lib</p>
<p style="text-align: center;"> <a href="http://www.yiluwan.org/blog/wp-content/uploads/2017/10/2.png"><img class="alignnone size-medium wp-image-674" src="http://www.yiluwan.org/blog/wp-content/uploads/2017/10/2-300x160.png" alt="2" width="300" height="160" /></a></p>
<p>&nbsp;</p>
<p>新版的增加了多个页面，大概8,9个页面，后端增加了10几个接口，主要分类为：</p>
<p>&nbsp;</p>
<p>1.      订单list：2个，查询，最近一个详情查询</p>
<p>2.      订单类：2个，查询，修改，</p>
<p>3.      订单类地址：2个，增加，修改，只修改订单绑定的地址id</p>
<p>4.      地址类：4个，地址的增删改查</p>
<p>5.      线下，回调数据</p>
<p>&nbsp;</p>
<p>修改了一下，将订单的地址抽象出来，变成订单的一部分，然后对原有的重复接口进行合并，就只有7个接口了：</p>
<p>1.      订单类(增加个订单绑定的地址id，默认-1)：3个，list查询，查询（如果没有订单id，则返回最新的一个订单），修改</p>
<p>2.      地址类：4个，地址的增删改查</p>
<p>3.      线下，回调数据</p>
<p>&nbsp;</p>
<p>其实还有个更老的版本，有13个接口，梳理一遍，只有7个接口，看起来这个事就是个很简单的事情了；</p>
<p>写到这里，但实际在想，7个还是很蛋疼呀，是不是可以搞一个自动生成的脚本，自动生成api查询的框架，我一个都不用写；再扩展一点，我们的mis系统，是不是基本上都是数据库的增删改查，是不是通过这样一个框架的落地，前后端都可以通过配置完成，可以解决80%的mis问题；回到海外租车，我们的竞品租租车已经成立6年了，线下的我们不说，线上的我们如何通过5-6个人的小组花半年的时间去干1-2百人的花了5年干的事情，那这个新的框架就更有意义了；</p>
<p>&nbsp;</p>
<p>所以稍微想了想框架的雏形，留待后用，就不画图了：</p>
<p>1.      后端的表是要提前提供的，这个需要预先准备；</p>
<p>2.      前端提供的是框架+模板，将通用的页面通过模板的方式固化下来，变成可配置的</p>
<p>3.      后端提供的是框架+api接口，将数据库的增删改查抽象成api接口出来，并对接口做业务上的控制；</p>
<p>总结起来无非就是一个自动生成api以及自动生成页面模板的功能，介绍一下2和3部分；</p>
<p>&nbsp;</p>
<p>第二部分的核心是交互，如何有效降低门槛，让大部分的界面和接口配置变得非常容易，是这部分的关键，事情上分为3小块：</p>
<p>1.      抽象常用的业务模板，这个很简单；</p>
<p>2.      搭建前端框架，主要解决，a.引入模板，b.模板部署和上线，c.模板和后端api的交互配置(每个模板有多个接口，每个接口对应一个api接口)</p>
<p>3.      搭建后端Api配置，api主要配输入、输出和sql，这个和常用的框架差不多；</p>
<p>&nbsp;</p>
<p>第三部分是后端的架构，主要是保证稳定性和各服务的独立性，一期为了简单些，这个都可以不用考虑独立性的问题</p>
<p>1.      定期从数据库读取各模块配置，并将配置变成本地缓存；</p>
<p>2.      根据api接口的参数，选择对应的api配置，并进行处理参数（过滤，判断是否合法等通用处理），调用sql，返回数据包</p>
<p>&nbsp;</p>
<p>很简单有没有，这个搞完之后，大部分的增删改查的简单逻辑就可以通过配置来解决，项目的瓶颈就只在于一些静态页面和一些逻辑比较复杂的业务模块（如排人排车，这一类的比较少），而这些都可以通过堆人力去解决的，因此整个项目的开发速度会大大加快；</p>
<p>&nbsp;</p>
<p>说一下优点：</p>
<p>1.      开发人员不用去配环境，新同学上手快；</p>
<p>2.      新增接口QA测试的点非常少，且bug会大大减少（因为大部分的功能框架都做了）</p>
<p>3.      整个开发流程增快很多，PM出完后，就能很快在线上看到，QA环节也时间减少</p>
<p>4.      不用上线</p>
<p>整体总结下来，就是减人力，开发快，且出bug少。。。</p>
<p>&nbsp;</p>
<p>缺点：</p>
<p>1.      只能做简单业务处理，这个算优缺点并存吧，不过我们大部分的场景都是简单业务处理</p>
<p>2.      多个接口在一起，如果项目代码开发不好，会影响多个业务；</p>
<p>整体总结下来，就是因为只能处理通用问题，所以肯定不能覆盖所有，且如果推广多，会变成比较重要的业务，影响面大；</p>
<p>&nbsp;</p>
<p>不过现在这个阶段，看到的业务和技术瓶颈还是比较明显的，技术瓶颈通过这个应该可以解决不少问题，但是还是不能花主要人力去做这个，因为主业务压力就很大了，所以其实项目的前期瓶颈还是在人身上；</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>https://www.yiluwan.org/blog/?feed=rss2&#038;p=671</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>（隐）马尔科夫链（1）</title>
		<link>https://www.yiluwan.org/blog/?p=632</link>
		<comments>https://www.yiluwan.org/blog/?p=632#comments</comments>
		<pubDate>Mon, 25 Sep 2017 09:00:25 +0000</pubDate>
		<dc:creator><![CDATA[liyunfei]]></dc:creator>
				<category><![CDATA[技术]]></category>

		<guid isPermaLink="false">http://www.yiluwan.org/blog/?p=632</guid>
		<description><![CDATA[]]></description>
				<content:encoded><![CDATA[<p><span style="color: #444444;">概率里面有个很重要的模型，是马尔可夫链，广泛用于各种应用中，如语音识别，赌博等。。为啥用的多，主要是原理比较简单，而且和各种模型什么的都比较匹配，所以应用很广泛，还有本书叫做随机漫步的傻瓜，可以看看，作为一个原理比较简单的模型，这里就简单讲讲；</span><br style="color: #444444;" /><br style="color: #444444;" /><span style="color: #444444;">马尔科夫链讲的是只有3个阶段，过去、现在、未来，未来的情况取决于当前的状态，他由2个部分组成：当前状态，转移矩阵，未来的状态等于当前状态*转移矩阵，获取状态后，转移矩阵再重新计算，未来的状态变成当前的状态；之后的情况和以前一切都没有关系；换一个通俗的例子，就是把马尔科夫链比作人的一生，你未来的一切取决于你当前的这个点的所有状态，和过去的那个你没有关系，如果将现在的你干掉。。就没有未来的你了。。通过过去的你也推不出将来的你；</span><br style="color: #444444;" /><br style="color: #444444;" /><span style="color: #444444;">隐马尔科夫链的核心思想，其实和马尔科夫链是一样的，唯一的区别是马尔科夫链的状态是能观察到的，隐马尔科夫链的状态是观察不到的，需要一个状态之间的概率；</span><br style="color: #444444;" /><br style="color: #444444;" /><span style="color: #444444;">举具体的例子吧：</span><br style="color: #444444;" /><br style="color: #444444;" /><span style="color: #444444;">马尔科夫链：</span><br style="color: #444444;" /><span style="color: #444444;">1. 当前状态</span><br style="color: #444444;" /><a href="http://www.yiluwan.org/blog/wp-content/uploads/2017/09/1.jpg"><img class="alignnone size-medium wp-image-663" src="http://www.yiluwan.org/blog/wp-content/uploads/2017/09/1-300x184.jpg" alt="1" width="300" height="184" /></a><br style="color: #444444;" /><span style="color: #444444;">2. 转移矩阵</span><br style="color: #444444;" /><a href="http://www.yiluwan.org/blog/wp-content/uploads/2017/09/2.jpg"><img class="alignnone size-medium wp-image-664" src="http://www.yiluwan.org/blog/wp-content/uploads/2017/09/2-300x150.jpg" alt="2" width="300" height="150" /></a><br style="color: #444444;" /><span style="color: #444444;">3. 整个序列</span><br style="color: #444444;" /><a href="http://www.yiluwan.org/blog/wp-content/uploads/2017/09/3.jpg"><img class="alignnone size-medium wp-image-665" src="http://www.yiluwan.org/blog/wp-content/uploads/2017/09/3-300x236.jpg" alt="3" width="300" height="236" /></a><br style="color: #444444;" /><br style="color: #444444;" /><br style="color: #444444;" /><span style="color: #444444;">隐马尔科夫的例子稍微复杂一点，不过我还是举网上随处可见的经典例子：</span><br style="color: #444444;" /><span style="color: #444444;">1. 会有3个骰子，每个骰子分别是6面，4面，8面</span><br style="color: #444444;" /><a href="http://www.yiluwan.org/blog/wp-content/uploads/2017/09/4.jpg"><img class="alignnone size-medium wp-image-666" src="http://www.yiluwan.org/blog/wp-content/uploads/2017/09/4-300x183.jpg" alt="4" width="300" height="183" /></a><br style="color: #444444;" /><span style="color: #444444;">2. 我们会得到一个观测队列，知道每个骰子的概率，每个骰子到另外一个骰子的概率，算隐藏队列，或者算观测队列的概率等等；</span><br style="color: #444444;" /><a href="http://www.yiluwan.org/blog/wp-content/uploads/2017/09/5.jpg"><img class="alignnone size-medium wp-image-667" src="http://www.yiluwan.org/blog/wp-content/uploads/2017/09/5-300x155.jpg" alt="5" width="300" height="155" /></a><br style="color: #444444;" /><span style="color: #444444;">换个例子：</span><br style="color: #444444;" /><span style="color: #444444;">假设王者里面孙悟空有多种状态，分别是狂暴状态，普通状态，防守状态，三种状态的情况是：</span><br style="color: #444444;" /><span style="color: #444444;">1. 狂暴状态：80%暴击，20%普通攻击</span><br style="color: #444444;" /><span style="color: #444444;">2. 普通状态：20%暴击，20%吸血，60%普通攻击</span><br style="color: #444444;" /><span style="color: #444444;">3. 防守状态：60%吸血，40%普通攻击</span><br style="color: #444444;" /><span style="color: #444444;">如果你观察到一个孙悟空，老是暴击，自然也能猜出他的状态是狂暴，如果老是吸血，自然进入了防守了状态，这个就是一个知道观测状态，来猜测隐藏状态的case;</span><br style="color: #444444;" /><br style="color: #444444;" /><span style="color: #444444;">HMM是个重要的模型，上周花了一定的时间稍微研究了一下，感觉还是很博大精深的</span><br style="color: #444444;" /><br style="color: #444444;" /></p>
]]></content:encoded>
			<wfw:commentRss>https://www.yiluwan.org/blog/?feed=rss2&#038;p=632</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
