有人经常会把数据分析与机器学习给搞混掉,机器学习这个主题已经很普遍了,每个人都在谈论它,但很少有人能够透彻地了解它,今天老李给大家分享一下机器学习的概念。
数据分析和机器学习
如果你认为大数据仅仅是关于SQL语句查询和海量的数据的话,那么别人也会理解你的,但是大数据真正的目的是通过对数据的推断,从数据中获取价值、从数据中发现有用的东西。例如,“如果我降低5%的价格,我将增加10%的销售量。”
数据分析是最重要的技术,包括如下方面:
- 描述性分析:确定所发生的事情。这通常涉及到描述发生了什么现象的报告。例如,用这个月的销售额与去年同期进行比较的结果。
- 特征性分析:解释现象发生的原因,这通常涉及使用带有OLAP技术的控制台用以分析和研究数据,根据数据挖掘技术来找到数据之间的相关性。
- 预测性分析:评估可能发生的事情的概率。这可能是预测性分析被用来根据你的工作性质、个人兴趣爱好,认为你是一个潜在的读者,以便能够链接到其他的人。
机器学习适合于预测性分析。
一个例子说明什么是机器学习
机器学习是指利用计算机模拟或实现人类的学习行为。那机器是怎么学习的呢?我们就举个相亲的例子。现有一妙龄女郎相亲,候选人有青年 A、B、C 和 D,四个青年的属性分别为:
- A:『高,帅,富』
- B:『高,帅,穷』
- C:『高,丑,富』
- D:『矮,丑,富』
经过一番筛选,女子将 [A C D] 分为适合婚恋组,将 [B] 划分为不适合婚恋组。上述就是人类的学习过程。
由于相亲对象实在过多,妙龄女郎相不过来了,于是她找来机器帮忙。首先,她要培训下机器,告诉机器如下信息:
- A:属性『高,帅,富』— 标签 『适合婚恋组』
- B:属性『高,帅,穷』— 标签 『不适合婚恋组』
- C:属性『高,丑,富』— 标签 『适合婚恋组』
- D:属性『矮,丑,富』— 标签 『适合婚恋组』
机器一番学习,建立起了「属性」和「标签」的对应关系,这就是机器学习建模过程。现在有青年 E、F、G …… 的属性值,妙龄少女把这堆属性值告诉机器,机器返回哪些是可以继续发展的对象,哪些是淘汰的对象。
这就是 有监督机器学习 ,即告诉机器训练数据的「属性」和「标签」,机器利用某种算法建立「属性」和「标签」的关系,利用该关系,就可以根据新数据的「属性」得到新数据的「标签」,如下图。
机器学习如何工作?
垃圾邮件过滤是一个很好的例子,它利用机器学习技术来学习如何从数百万封邮件中识别垃圾邮件,其中就用到了统计学技术。
例如,如果每100个电子邮件中的85个,其中包括“便宜”和“伟哥”这两个词的邮件被认为是垃圾邮件,我们可以说有85%的概率,确定它是垃圾邮件。并通过其它几个指标(例如,从来没给你发送过邮件的人)结合起来,利用数十亿个电子邮件进行算法测试,随着训练次数不断增加来提升准确率。
事实上,谷歌表示它现在已经可以拦截99.99%左右的垃圾邮件。
机器学习的算法有哪些
我制作了一份机器学习算法选择速查表:
这张速查表能帮你从众多机器学习算法中,针对你自己的具体问题和情况,选出最合适的算法。下面就介绍如何使用这份速查表。
因为是面向初学者,所以在谈到算法时,会尽量做一些最简单的假设。下文谈及的算法也都是众多数据科学家、机器学习专家和开发者们推荐的结果。
怎样使用速查表
按照“如果(路径标签)就用(算法)”的逻辑,查看速查表上的路径和算法标签。例如:
- 如果你想降维,就用主成分分析。
- 如果你需要迅速得到数值预测,就用决策树和逻辑回归。
- 如果你需要层次结果,就用层次聚类。
有时我们可能需要不止一个算法,有时可能这些算法没有一个是最合适的。我和许多数据科学家聊过,他们认为这种情况下,最保险的做法就是把所有算法都尝试一遍,找到最合适的那个。