machine learning概述

一、机器学习是什么?

1、概述

a机器学习是一个比较泛的概念

b是不是会觉得机器学习和人工智能,数据挖掘讲的东西很像?
1)机器学习是人工智能的一个子方向
2)机器学习是数据挖掘的一种实现方式

c数据挖掘的三种方式
1)数据库 ---强调的是效率,即如何组织信息使得能够快速有效的查找信息
2)机器学习----强调有效性,在数据分析中
3)统计方法------强调正确性,更多的是为机器学习算法提供理论支撑

d、举个例子


给一些苹果和香蕉,人会通过特征的判断做区分,并且记忆这些特征,下次来了一个新的苹果或者香蕉的时候,就可以判断是香蕉还是苹果了。

左边一栏是输入,上边一栏是输出,而这个表中的数据,就相当于训练出来的模型。

 

2、数学表示

a、算法或者说用程序执行的数学问题
       (1)输入----多个特征所构成向量的向量,或者说是一个矩阵
            (如果只有一个特征向量是一个弱化的矩阵概念,统一称作矩阵)
       (2)输出----通过对特征的判断得出的做区分的规则

 

b、目前机器学习的核心技术是基于矩阵的优化技术
– 输入:矩阵 – 待学习的信息
– 输出:模型 – 总结出的规则

 

3、形式化表示

a、主流的机器学习技术就可以形式化为

    ---输入:特征矩阵 X、标注向量 y

              (是特征矩阵,不包括“样本名称”和“样本 标注”)

                 (y 是标注向量,即“样本标注”那列)

   ---输出:模型向量 w

                (期望:X·尽可能接近 y)

                (多种优化算法可以解 w,区别在于如何定义 “尽可能接近”)

b、举个例子:要计算广告的CTR(点击率)


例子中特征只有两个,query关键词和“是否飘红” —特征输入

目标是要根据已知的auc特征,猜测这个目标广告是否会被点击 —模型输出

 

二、一般的机器学习的步骤是什么?

 

1、问题分析

输入输出都有了,具体解决这个问题,就可以选用相关的算法
(1)前面定义里面有这么一个隐含的关键点:X w 尽可能接近 y
(2)如何定义这个“接近”,思路不同,算法就不同
  -- LR (Logistic Regression)
  -- SVMSupport Vector Machine
(3)实际例子分析(还是那个苹果的例子,因为简单)

 

a.形象化表示


之后会发现,利用Logistic regression其实就是通过一批样本数据训练出系数,得出一个方程系数矩阵,之后将未知分类样本作为输入,结合训练出来的矩阵,得到的输出就是分类的结果,可以想象为是一条曲线的模拟。


b.数学化的目标函数表示


"接近"的定义不同,学术的讲,就是“优化目标不同”,无论是否相同,我们都至少可以选一个优化目标了,有了优化目标,下面要做的就是如何求解这个优化目标了

一般现在用的思路主要是L-BFGSCDNSGD

 

2、用机器学习的方法去解决问题

优化步骤:

   (1)算法 ---优化目标 优化算法

   (2)数据 ---尽可能和实际同分布的数据 尽可能充分的数据

   (3)特征 ---尽可能包含足够多的需要识别对象的信息

优化算法:

从优化目标的角度(学术界,发现新的算法)

从优化算法的角度(工业界,基于现有算法进行扩展)
1)更小的计算代价---机器就可以做别的事情
2)更快的收敛---可以更好的把结果投入使用
3)更好的并行---用现有的大数据框架解决问题

训练数据:

1)同分布

    ---样本数据和实际数据分布差异很大的话,那么你的算法得出的结果基本上就没啥用,也就是泛化能力差。

 

2)数据充分

   ---由于期望的往往是总的误差最小,所以很可能讲数据量小的类目判别错误,所以数据越充分,训练就越充分,误判率就越低。

 

特征:

要求:数量多,质量高。

有一种疾病,这种疾病容易在个高且胖的人群,以及个矮且瘦的人群中易感。那么任意从给一个特征角度上看,比如肥胖,那么胖的这部分人中,得此病的概率为50%,不胖的也是50%,那么“胖”这个特征没有表达力,所以这个特征的质量就为0

一个工程问题,特征是往往是决定最多的

一个算法方面的优化,可能只是优化了2~3%的效果,但是特征可能就是50~60%了。

一个工程项目七八成的精力往往都是花在特征选取上的,但是高质量的并不是那么容易被发现的,比如百度CTR预测,特征数据目前就是100亿级别的,通过数量弥补质量,那怎么提高特征的质量呢,答案就是深度学习,所以接下来我们来看看深度学习是怎么样提取高质量的特征的。

 

三、机器学习与深度学习的区别?

 

1、简介

Deep Learning那么一定就相对有Shallow Learning(机器学习的别名),最大的区别在于特征层数。


目前的机器学习算法主要是一层的,就是从特征直接推断出结果

 

Deep Learning和人类的处理问题的结果更接近,是由特征推断出一些中间层的结果,进而推断出最终结果的,也就是说其实特征只是一种外在表现,如何挖掘特征是如何表现的,其实这是一个特征表达力的问题,传统方法特征表达力,不如Deep Learning的多层学习得到的更有效果的表达。

 

2、特征表示的粒度


一个图片来说,像素级的特征根本没有价值,无法进行摩托车正例和负例的区分,而如果特征是一个具有结构性(或者说有含义)的时候,比如是否具有handlebars(把手),是否具有wheel(车轮子),就很容易把正例和负例区分,学习算法才能发挥作用

 

题外话:为什么LDA(一种主题模型)是合理的?

 

从文本来说,文本这个概念或者说一句话,一个doc表达的是什么意思,用什么来表示比较合适?

最简单的就是用一个一个字,也即是我们常用的词袋模型,但是这样只是简化方便而已,字是像素级别的,起码应该是term,换句话说每个doc都由term构成,但这样表示概念的能力就够了嘛?

可能也不够,需要再上一步,达到topic级,有了topic,再到doc就合理。注意这里就是主题模型的精髓了,但每个层次的数量差距很大,比如doc表示的概念->topic(千-万量级)->term10万量级)->word(百万量级)

这就是主题模型的从Deep Learning角度来看的合理性

deep的含义就是多层神经元网络,每一层代表一种层次的概念,越往下概念的正交性越好,越往上概念的正交性越差,越具有相似度。因为高层概念彼此可能互相包含了相同的基本结构

 高层概念分离出基本结构的方法也很容易理解,就是打散了聚类,比如doc可以通过LDA的方法搞出topic,有限个topic就可以描述一个doctopic内部还可以通过类似的方法,再打散了聚类,得到更浅层的topic,这就好比新闻聚类可以从小类聚到大类,从大类聚到超大类就是这个思路。数据挖掘中数据仓库也有类似的情况,上卷或是下钻。

 

2、为什么要用多层神经网络来挖特征?

正式一点的话,身高和体型是两个Marginally independent的变量,即如果观察到了他们产生的结果,他们就不独立了。


也就是如果身高和体型在用于检测这种疾病的时候,他们就不独立了,因此需要有一种特征表示的方式来表示他们的这种不独立性,能够combine他们以形成更好的特征。

而这种更结构化的特征,需要大量的语料才能training出来。而独立性的特征,往往少部分语料就可以获得很好的结果,但随着语料数量的提高,无法observe到结构化的特征,因此更多的语料就浪费了。这就设计到机器学习里面的一些关于选取样本的问题,如何选样本,训练多少样本够。

我们都知道这是AI领域的XOR问题,也就是二层神经网络就能求解,换言之,多层神经网络能够挖掘出来更好的特征。

 

4、怎么进行挖掘?


小块的图形可以由基本edge构成,更结构化,更复杂的,具有概念性的图形如何表示呢?这就需要更高层次的特征表示,比如V2V3。因此V1看像素级是像素级。V2V1是像素级,这个是层次递进的,就好像高中生看初中生naive,大学生看高中生naive一样。

 

5、和人脑有什么类似的地方?原理何在?

人脑中大部分感知器是一个非常简单的计算过程。但通过组合可以达到很高的理解力。

但问题是如何组合,感知的过程如何从低级阶段到高级阶段,从明暗,色彩的感知,到人类喜怒哀乐的情感,整个过程的每一步可能都是naive得,但整个认知链条的末端一定是语义的,有感情的,上升到概念的。

比如看一本小说,脑海中就能自然浮现画面,可见不同神经感知器也不是完全独立的,而是彼此联系的。

 

6、如何训练?

语料切成n个部分,每个部分产生表达力强的特征,而这些表达力强的特征在一个阶段进行combine,也就是那个hidden layer可以很好的表达来自不同shard的特征,最后再展开各层,用不同shard上的tagged data 来进一步调整每条边的权重。

通常学生试验在10 million connections这个水平,因为再大已经超出计算的能力,但如果采用并发的方法,160000万个CPUs的情况下,可以达到1 billion connections这个水平。如果采用特制的GPU来计算,可以达到10 billion connections的水平。

 

7、需要多少特征?

  我们知道需要层次的特征构建,有浅入深,但每一层该有多少个特征呢?

任何一种方法,只要特征足够多,效果总能提高,但特征多意味着计算复杂,探索的空间大,可以用来训练的数据在每个特征上就会稀疏,都会带来各种问题,并不一定特征越多越好。

 

8、MLDL比较

大量使用Shallow learning主要是因为它有很好的数学特征:
   ---解空间是凸函数

  ---凸函数有大量的求解方法


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Machine Learning Algorithms by Giuseppe Bonaccorso English | 24 July 2017 | ISBN: 1785889621 | ASIN: B072QBG11J | 360 Pages | AZW3 | 12.18 MB Build strong foundation for entering the world of Machine Learning and data science with the help of this comprehensive guide About This Book Get started in the field of Machine Learning with the help of this solid, concept-rich, yet highly practical guide. Your one-stop solution for everything that matters in mastering the whats and whys of Machine Learning algorithms and their implementation. Get a solid foundation for your entry into Machine Learning by strengthening your roots (algorithms) with this comprehensive guide. Who This Book Is For This book is for IT professionals who want to enter the field of data science and are very new to Machine Learning. Familiarity with languages such as R and Python will be invaluable here. What You Will Learn Acquaint yourself with important elements of Machine Learning Understand the feature selection and feature engineering process Assess performance and error trade-offs for Linear Regression Build a data model and understand how it works by using different types of algorithm Learn to tune the parameters of Support Vector machines Implement clusters to a dataset Explore the concept of Natural Processing Language and Recommendation Systems Create a ML architecture from scratch. In Detail As the amount of data continues to grow at an almost incomprehensible rate, being able to understand and process data is becoming a key differentiator for competitive organizations. Machine learning applications are everywhere, from self-driving cars, spam detection, document search, and trading strategies, to speech recognition. This makes machine learning well-suited to the present-day era of Big Data and Data Science. The main challenge is how to transform data into actionable knowledge. In this book you will learn all the important Machine Learning algorithms that are commonly used in the
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值