天天看点

Android 和 iOS 开发者如何转型做机器学习?

今天给大家介绍一个免费的专栏《 5 分钟机器学习》,每天花五分钟了解机器学习的基础知识,言语通熟易懂,作者从事过 iOS 和 Android 开发,现在成功转型正在某大型医药互联网公司做机器学习相关工作。相信对各位从事 Android 和 iOS 开发又想转型的同学具有非常大参考价值。

关于专栏:每个人学习都应该有一个属于自己的思维模型,我的思维模型就是把一个东西拆分,拆分,再拆分,直到不能拆分后再进行学习,运用这种思维模型,把机器学习拆分为5分钟一段的文章,每一篇都是一个知识点,多个知识点组成一个模块,可以利用碎片化学习,也可以系统的按模块来学习。 

关于作者:90后互联网老兵,就职于国内大型医药互联网公司,专注于机器学习中的图像识别领域,法国蒙彼利埃大学EMBA在读。2010年开始从事 iOS 开发。 2014年同时进行 Android 开发。 2016年初开始运用机器学习开发的时候才发现,这就是我后半辈子要做的事情,也是能让我尖叫的技术。 目前在一家电子商务公司工作,已经开发出公司的推荐系统,包括商品详情页的大家关注,商家推荐,以及App的精准推送,App首页的个性化展示,购物车中的“猜你喜欢”等。

在这里我还是要推荐下我自己建的iOS开发学习群:680565220,群里都是学ios开发的,如果你正在学习ios ,小编欢迎你加入,今天分享的这个案例已经上传到群文件,大家都是软件开发党,不定期分享干货(只有iOS软件开发相关的),包括我自己整理的一份2018最新的iOS进阶资料和高级开发教程

希望你能够做的:这份专栏目前为免费,不排除以后会改为收费,所以先到先得,大家订阅之后别忘了关注小专栏平台服务号,专栏最新更新,服务号都会通知。另外,如果你觉得不错,别忘了转发分享给更多朋友。

接下来稍微介绍下机器学习方面的基础知识:目前机器学习主流分为:监督学习,无监督学习,强化学习。

监督学习:

监督学习可分为“回归”和“分类”问题。

在回归问题中,我们会预测一个连续值。也就是说我们试图将输入变量和输出用一个连续函数对应起来;而在分类问题中,我们会预测一个离散值,我们试图将输入变量与离散的类别对应起来。

每个数据点都会获得标注,如类别标签或与数值相关的标签。一个类别标签的例子:将图片分类为「苹果」或「橘子」;数值标签的例子如:预测一套二手房的售价。监督学习的目的是通过学习许多有标签的样本,然后对新的数据做出预测。例如,准确识别新照片上的水果(分类)或者预测二手房的售价(回归)。

无监督学习:

在无监督学习中,我们基本上不知道结果会是什么样子,但我们可以通过聚类的方式从数据中提取一个特殊的结构。

在无监督学习中给定的数据是和监督学习中给定的数据是不一样的。数据点没有相关的标签。相反,无监督学习算法的目标是以某种方式组织数据,然后找出数据中存在的内在结构。这包括将数据进行聚类,或者找到更简单的方式处理复杂数据,使复杂数据看起来更简单。

强化学习:

Alphago用的就是强化学习,强化学习是一种学习模型,它并不会直接给你解决方案——你要通过试错去找到解决方案。

强化学习不需要标签,你选择的行动(move)越好,得到的反馈越多,所以你能通过执行这些行动看是输是赢来学习下围棋,不需要有人告诉你什么是好的行动什么是坏的行动。

给我影响最深的就是参加混沌大学的线下课,是AI的重量级人物Michael I. Jordan讲的,其中有一段视频是一个模拟的人,利用强化学习的算法,从站不起来到最后能够正常跑步的过程,而且真正实现的代码连100行都不到,一页ppt而已。

应用:

监督学习:目前主要应用在分类,像我们公司,会根据用户行为,购买数据,订单,商品等维度打标签和建模,当一个新用户来的时候,可能根据他的数据来划分用户类别,如小单交易,中单交易,大单交易,周期性下单,随机性下单用户等等,这样根据每个用户的分类,就会有不同的推荐商品,发放优惠券的策略。

无监督学习:我们公司没有用到,但是我听朋友说他们公司在用无监督学习来做反欺诈,在互联网金融领域应用比较多,把用户去聚类,因为新的欺诈手段很多可能之前从来没有遇到过,无法打标签,但是可能通过相似性来聚类,从而达到目的。

强化学习:和深度学习结合最紧密,可以看作是深度强化学习,应用领域主要有图像识别,语音识别,像Face++和科大讯飞。

总结:

目前用到最多是监督学习和无监督学习,尤其是监督学习,因为应用场景多能给公司创造直接价值,如果找工作可以多关注。

但是强化学习是未来,因为能学习到的能力没有数据限制。