初识机器学习
来源:互联网 发布:韩国网络电视 编辑:程序博客网 时间:2024/05/29 18:51
*本文学习资料来源:http://www.imooc.com/learn/717
机器学习与数据分析的区别
处理数据
数据量
一致性要求
机器学习
电脑来驱动
行为数据
多
低
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)
- 初识机器学习
- 初识机器学习
- 机器学习 *** 初识流形
- 初识机器学习
- 初识机器学习
- 初识机器学习
- Python机器学习初识
- 机器学习(一)初识机器学习
- Lecture 1:机器学习初识
- 机器学习之初识SVM
- 初识机器学习-理论篇
- 初识机器学习-理论篇
- 初识人工智能--第一节机器学习
- python机器学习决策树初识
- 机器学习_初识神经网络
- 机器学习_初识attention
- 初识机器学习-理论篇
- 机器学习(九)初识BP神经网络
- 为 Markdown 图片加上大小吧!
- isolate_lru_pages
- Leetcode 441 - Arranging Coins(Math)
- x86,x64表示什么含义
- 动态规划
- 初识机器学习
- 【POJ】1611--The Suspects (并查集)
- BZOJ 2212线段树的合并
- 使用注解描述程序代码
- 通过RevitAPI创建墙
- JavaScript面向对象的三大特征
- Android intent的显示意图和隐式意图的区别
- Android 仿下雪效果
- VC++MCF/C++/C中怎样让应用程序获得或以管理员权限运行 ,ShellExecuteEX编程 --- 获取管理员权限