初识机器学习

来源:互联网 发布:韩国网络电视 编辑:程序博客网 时间:2024/05/29 18:51

*本文学习资料来源:http://www.imooc.com/learn/717

把在iMOOC上完课后的笔记分享给大家~人非圣贤孰能无过,欢迎大家批评指正~
----------------------------华丽丽的分割线------------------------------------------------

机器学习与数据分析的区别

 

 

处理数据

数据量

一致性要求

 

 

机器学习

电脑来驱动

行为数据

No SQL数据库

全量分析

数据分析

人来驱动

交易数据

使用关系型数据库

采样分析

 

 

参与者

目标用户

机器学习

数据+算法(数据质量决定结果)

个体用户

数据分析

分析师(分析师能力决定结果 )

公司高层

 

注:一致性要求低,意思是数据少了一批也影响不大,而一致性高,则意味着数据必须非常精确。不能出错。

 

Ÿ   解决业务问题不同

Ÿ   技术手段不同

注:OLAP(联机分析);用户驱动指数据分析师的经验驱动;

 

机器学习的简介

在历史数据中,找出规律(相当于函数)

规律的落地由机器学习系统自动生成

 

机器学习擅长多维数据处理,而数据分析很难。实际工业中甚至有百维数据,难以可视化描述问题。

 

离线机器学习:今天数据,模型,第二天用新模型,第二天数据+之前,模型,第三天用新模型

        -问题:特殊情况下,情况特殊,离线学习模式不再适用

        -实时推荐,当天更新

在线机器学习:不以批处理定时离线跑数据,而是一旦有新的数据,就实时把模型做调整

机器学习典型应用

1.购物篮分析

         -算法:关联规则(数据挖掘算法)

                  2.用户细分精准营销(全球通、动感地带)

         -算法:聚类

                  3.垃圾邮件识别

         -算法:朴素贝叶斯

                  4.信用卡欺诈

         -算法:决策树

                  5. 搜索引擎推荐顺序(点击率预估(可能点击))

         -算法:ctr预估(线性的逻辑回归)

6.推荐系统(推荐可能购买的东西)

         -算法:协同过滤(类似于关联规则作用)

                  7. 自然语言处理(情感分析,实体识别(提取主干,如名称),等等)

                 8.深度学习(主要用于图像识别)

                  9.分类问题

         -算法:逻辑回归,贝叶斯

 

视频内容自动识别、机器实时翻译

 

机器学习常见算法与分类

A:                

-有监督学习(训练数据提前被打好了标签)  分类算法、回归算法

-无监督学习(没有标签,由算法分类,根据结果认为给结果分类)  典型算法:聚类

-半监督学习(强化学习,有一些标签)

B:

分类与回归

聚类

标注(例如给文本每种元素打标签)

 

C:(重点)

生成模型

判别模型

 

生成模型:不会直接给出结果,而是给出属于某种结果的概率(类似陪审团)

判别模型:给一个函数,有了数据就返回结果,直指最终目的(类似大法官)

最重要的区别是,训练模型的思想不同

 

机器学习常见算法

 

Ÿ   C4.5,CART属于决策树算法,解决回归、分类问题,有监督学习算法,不怎么用了

Ÿ   K-Means,聚类算法,无监督学习算法

Ÿ   SVM(面试一般必考,甚至考推理)(有完备数学理论支持),分类算法(主要),回归问题也可以

Ÿ   Apriori算法代价高,得多次访问数据库记录,基本上淘汰

FP-Growth也是解决关联分析问题,只需对数据库做两次访问

关联分析还有很多算法

Ÿ   EM有一定难度,不针对一个具体问题,是很多算法的框架

Ÿ   PageRank谷歌的一套算法

Ÿ   AdaBoost大部分人脸识别都是基于这个,决策树的改进版,有监督学习

Ÿ   KNN,分类算法,跟K-Means比较像,有监督学习

Ÿ   朴素贝叶斯,比如垃圾邮件基于这个

 

 

算法一览(续)

ü  逻辑回归(搜索排序用到了)

ü  RF(随机森林)\GBDT,跟AdaBoost差不多,都是对决策树算法的改进

ü  推荐算法(各大电商网站标配)

ü  LDA(自然语言处理的一种算法,有一定难度)

ü  Word2Vector(文本挖掘,谷歌提出H)

ü  HMM、CRF

ü  深度学习

 

 

机器学习解决问题的框架

机器学习解决的问题:

预测问题:一类是预测所属分类,一类是预测数值

聚类问题

 

步骤:

 

第一步:确定目标(有业务需求,有数据,特征工程(数据预处理,比如根据问题提取特征,清洗、整合)

整个机器学习项目中,数据清洗大概占到70%的时间。模型训练中,从纯算法角度调整提升效果,相对来说比较吃力,但是能把特征工程做好,对模型的影响是巨大的。数据已经决定了目标最终的产出效果(相当于天花板)。特征工程无技术含量,但是确实是容易出成果的环节。

第二步:训练模型(定义模型,定义损失函数,优化算法)

       定义好模型以后,有的参数还不知道,通过训练数据求出。

       机器学习做预测,那么预测的结果可能有偏差,损失函数就是定义偏差的大小。由于有时候模型找不到精确解,这时找出近似解,每种模型近似解不同。根据损失函数来评估各种模型。损失函数有多种形式。

第三步:模型评估(交叉验证,效果评估)

       

 

 

 

DEMO-图片按照色彩聚类(基于K-Means)

思路:

将rgb格式转化成hls格式,抽取特征,组成向量,image to victor

将数据丢给算法,决定聚成几类,然后开始分类

然后跑程序(一百多行Python)

0 0