机器学习:从入门到沉迷
机器学习:从入门到沉迷
最简单的机器学习介绍
你是不是也经常听人说起机器学习但是完全不能明白到底什么才是机器学习,是不是完全厌倦了与同事点头一样的交谈,让我们通过这篇文章改变这一现状吧
这是一篇针对想知道什么是机器学习但是不知道如何入门的人的入门。我猜有很多人厌倦了通过图阅读维基百科的文章来了解机器学习,想有一篇通俗的文章来介绍什么才是机器学习,那么这篇文章就是这样的
什么是机器学习
当你要通过很多数据去发现某个问题的时候,你不用去针对特定的问题编写代码而是通过使用很多通用算法来获得获得你所需要的东西,这就是机器学习。相对于编写很多代码,你只需要给予它足够的数据让他基于这些数据建立一个逻辑算法。
例如,一种算法是分类算法,它可以把数据分成不同的组。本来是用来识别是否是手写体数据的算法可以在不改变任何一行代码的情况下用来实现垃圾邮件的自动分类。完全相同的算法只是使用了不同的数据便产生了不同的逻辑过程。
机器学习就是很多种类似于这种处理的合称。
两种机器学习算法
主要的机器学习算法有两个主要分类--监督学习和无监督学习。他们之间的区别很简单但是很重要。
监督学习
假设你是一个房地产经纪人,你的业务正在高速增长所以你聘请了很多实习生了帮助你。但是有一个问题,你是一名出色的经纪人所以你能很快知道哪种房子比较受欢迎,而那些实习生并没有你这个能力去正确评估房子。
为了帮助你的实习生正确判断每一个房子的价格你决定写一个小的app,它可以根据房子的大小,邻居等信息去类比相似的房子来决定这个房子的价格
因此你写下近三个月被卖出的房子的价格。对于每一个房子你都写了细节,房间数目,大小,邻居等,但是最终要的是你写下了最重的价格。
使用这些数据我们希望创建一个程序来决定你这个区域其他房子的价格。
通过这些数据我们希望创建一个程序来预测该区域其他房子的价格
这就是一种监督学习模型,你知道每套房子的价格,即你知道这个问题的答案,并可以从这个答案想问题出发推理出一个逻辑。
开发这个APP,你把你的房子数据输入到机器学习的算法中。然后这个算法自己试图计算出需要解决一个什么样的数学问题然后给出正确的答案。
这种就是有点类似于指导答案但是要去推算出数学公式的问题
通过这些数据,你能找出这是在测试哪种数学运算吗?你知道你应该通过左边的数据进行某些运算来得到右边的答案。
在监督学习模型下,你会让电脑帮你计算出他们之间的关系。一旦你知道了需要什么数学模型来解决这个特定问题的时候,你就能回答同一类型的其它问题了。
无监督学习
让我们回到原来的房地产经纪人的例子。如果你不知道每间房间的价格该怎么办?事实上当你知道房子的大小,位置等信息的时候你仍然可以做一些非常有趣的事情。这就是无监督学习。
这种就类似于有人给你一串数字然后告诉你他完全不知道这些数字的含义,但是你或许可以找出其中的规律。
那么你可以用这些数据干些什么呢?首先,你可以通过一个算法在你的这些数据中来识别不同的细分市场,或许你会发现附近大学附近的购房者喜欢有很多房间的房子,但是郊区的购房者喜欢有三间卧室但是很大的房子。了解这些不同的客户可以帮助你实现定点营销。
你可以做的另外一件很有意思的事情是可以识别出一些比较独特的房子。而这些独特的房子这有可能是一些豪宅,你可以让你最好的销售人员来处理这些房子因为他们可以赚取更多的佣金。
监督学习是通过过去的一些事实来完成剩下的事,但这并不说无监督学习就没有用或者没有学习的价值。事实上,正因为无监督学习的没有标准答案的优点让它随着算法的逐渐改善在现实社会中变得越来越重要。
上面的介绍确实很有意思,但是能正确评估房子价格真的能算“学习”?
下篇正式开始写算法了,有点小激动。
(注,本文翻译自一篇外文,我在原文中添加了一些自己的理解)