前言
虽然已经好久没有更新了,但笔者最近一直都在努力学习哦。
前面三三两两根据GitHub上的项目写了一些实验操作,但是总觉得这样是不行的。碎片化的学习只能是建立在已知的基础上进行熟练,不能作为打基础的主力方法,最关键的是,GitHub的这个项目听起来非常诱人,但是并不适合自己从头开始认真学习,其内容过于零散,于是从本节开始,决定不再拾人牙慧,进入自己的系统化的学习过程。
第一讲就讲讲机器学习的概念
一、机器学习概念介绍
1.1 概览
人工智能,机器学习和深度学习之间的关系
早期的人工智能可以说是一个宏伟的目标,因为它的目的是赋予机器人的智慧,这种称为“强人工智能”,例如科幻电影里的终结者,能够像人类一样思考、学习、独立完成各项任务等;目前所能完成的是”弱人工智能“,主要是帮助人类完成某项特定的任务,例如搜索引擎、下围棋等。
机器学习就是实现弱人工智能的一种方式。
深度学习,属于机器学习的一个子领域,主要使用神经网络算法解决机器学习中的分类问题。人工神经网络(Artificial Neural Networks)是早期机器学习中的一个重要的算法,以我们大脑互相交叉相连的神经元为启发,人工神经网络具有离散的层、连接和数据传播的方向,深度学习的深度(deep),指的就是神经网络中众多的层数。
日常的应用
- 搜索引擎(Google)
- 物品识别
- 标记垃圾邮件
- 计算生物学(基因组研究)
- 手写识别
- 。。。
商业应用:
· 市场营销 (客户留存、分群、获取、产品推荐)
· 运营管理 (库存分析、供给分析、商品推荐)
· 风险欺骗 (欺诈检测、风险预警、信用评分、损失分析)
· 金融市场 (现金流预测、预算模拟、金融风控模型)
· 其他 (生命科学、健康医疗、社会科学、媒体、旅游)
1.1.1 机器学习定义
第一个机器学习的定义来自于Arthur Samuel。他定义机器学习为,在进行特定编程的情况下,给予计算机学习能力的领域。Samuel的定义可以回溯到50年代,他编写了一个西洋棋程序。这程序神奇之处在于,编程者自己并不是个下棋高手。但因为他太菜了,于是就通过编程,让西洋棋程序自己跟自己下了上万盘棋。通过观察哪种布局(棋盘位置)会赢,哪种布局会输,久而久之,这西洋棋程序明白了什么是好的布局,什么样是坏的布局。
A subset of AI in the field of computer science that often uses statistical techniques to give computers the ability to 'learn'.
近代的定义
一个程序被认为能从经验E中学习,解决任务T,达到性能度量值P,当且仅当,有了经验E后,经过P评判,程序在处理T时的性能有所提升。
由Tom Mitchell提出,来自卡内基梅隆大学
graph TD
A[定义问题] --> B[收集数据]
B --> C[特征工程]
C --> D[建模]
D --> E[调整模型设置]
E --> F[评价模型]
F --> G[部署]
G --> H[模型更新]
1.1.2 机器学习与传统规则引擎的区别
规则引擎:
- 编程解决问题
- 人为定义决策
机器学习:
- 从经验中学习
- 决策规则复杂
举例说明
- 规则引擎
类似于手机上的单机斗地主,编程者提前拟定决策规则,并进行编程实现,这种规则引擎为固定的,无论和电脑玩多少次,电脑的打牌水平都不会有长进。 - 机器学习
类似于下围棋的AlphaGo,任务T就是成为下棋高手,经验E就是成千上万次的练习,性能度量值P就是能够打败人类的下棋高手。
机器学习可以做到使用历史数据,学习特征,实现预测。
1.2 机器学习类型
不同的机器学习类型
Label | |
---|---|
🌟Supervised | Yes |
🌟Unsupervised | No |
Semi-supervised | Part |
Reinforced | No(rewarding) |
Label🏷️ 标签用于标记物体的属性,可以理解成 y = ax+b
中的y
。
例如垃圾邮件问题,是否为垃圾就是邮件的标签;预测房价问题,所给的一个小区的房屋价格就是房屋的标签。
数据获取网站 kaggle
数据获取网站 UCI
可以从这些网站中获取数据进行练习。
1.2.1 有监督学习
解决的两类常见问题:
- 分类问题
- 回归问题
分类 classification | 回归 regression | |
---|---|---|
目标变量 | 离散 | 连续 |
- 使用有标签数据训练模型
- 为新数据打标签
- 大部分机器学习模型为有监督学习
回归问题例子:房价预测
吴恩达机器学习课程案例
- 模型评价指标 Normalized RMSE [值越小越好]/ Goodness of Fit( ) [值越大越好]
- 特征重要性
分类问题例子:判断肿瘤类别
- 模型评价指标 Performance(AUC) (一般来说 >0.85 说明非常好)
- 特征重要性
- 混淆矩阵 Confusion Matrix
True Positives | False Positives |
---|---|
False Negatives | True Negatives |
监督学习总结
两种问题:
- 分类问题
把数据按类别划分,例如鉴别肿瘤是良性还是恶性,邮件是否是垃圾邮件。
- 回归问题
1.2.2 无监督学习
无监督VS有监督
无监督学习的数据没有标签(或者有相同的标签),无监督学习的任务就是将这些数据分成不同的簇,所以称为聚类算法,谷歌新闻就是使用了无监督学习,将网络中海量的新闻自动分类,每一个类都是不同的主题。
无监督学习特点
- 使用无标签数据训练模式
- 发现数据固有特征
- 可用于数据降维、异常检测
- 聚类是最常见的无监督学习技术
无监督学习的应用
无监督学习没有收到人工输入的数据标签,对于算法的角度而言,只有一堆包含属性值的数据,通过运行一个聚类算法,就能够得到这些数据的分类结果。
例子:鸡尾酒宴会问题。
宴会的环境比较嘈杂,交谈声、音乐声和其他噪声等交织在一起,在不同的位置放置两个麦克风🎤,记录宴会的声音数据。通过无监督学习,就能完成音频输入的分离。[插入video play 6:30]
例子:Iris聚类
- 组内离差平方和 (判别聚类算法好坏的关键指标)
无监督学习总结
- 聚类问题
- 异常值检测问题
1.2.3 半监督学习
特点
- 使用少量有标签数据训练
- 为大部分无标签数据打标签(标签预处理)
应用目的:
节约训练成本
节约打标签成本
1.2.4 强化学习
学习一系列的行动(actions) ,使奖励(reward) 最大化。
例如:alpha go、自动驾驶
1.3 总结
见xmind。
喜欢的朋友记得点赞、收藏、关注哦!!!