资讯专栏INFORMATION COLUMN

机器学习,了解一下?

jsbintask / 2334人阅读

摘要:欢迎常来为什么要学老师上课时候就说过传统算法解决确定性问题,而机器学习解决非确定性问题。机器学习算法机器学习算法和普通算法还是有很大区别的。而自动驾驶等前言机器人,都使用了增强学习。学习资料在线课程入门机器学习经典算法与应用书籍机器学习实战

文章图片来源于 GitHub,网速不佳的朋友请点我看原文。

顺便软广一下个人技术小站:godbmw.com。欢迎常来♪(^∇^*)

1. 为什么要学?
老师上课时候就说过:传统算法解决确定性问题,而机器学习解决非确定性问题。

好吧,确实激起了我的兴趣,所以系统学习一下吧。

2. 机器学习算法

机器学习算法和普通算法还是有很大区别的。它不要求百分之百准确,并且对数学要求较高。

我认为重点有几下 4 点:

理解算法原理

应用实际场景

进行对比试验

不同算法对比

同一算法不同参数对比

难点有几下几点:

如何评价算法好坏

解决拟合和过拟合

如何正确调参

如何验证算法正确性

3. 可以解决什么问题?
有些算法既可以处理分类、也可以处理回归任务,而在一些情况下,回归任务可以简化为分类任务,以方便问题解决。
3.1 分类任务

常见的有分类任务有 2 分类和多分类任务,并且两者之间可以转化。

比如 AlphaGo 下围棋,可以理解成一个多分类任务:因为是在选择棋盘上的落子点。除此之外,推箱子游戏:可能有 2-4 个方向提供选择,也可以理解成分类任务。

3.2 多标签分类

而在 ML 前沿领域,实现了多标签分类:不再单纯的是一个分类,而是拥有多个标签。

例如下面这张含有多个标签的图片,多标签会让机器对它的定位更准确:

3.3 回归任务

机器获得结果是一个连续的数字的值,而不是一个类别。连续的值可以划分为无限多个小的点(可以理解成无限多个类别),又怎么能处理成类别呢。

4. 算法分类 4.1 监督学习
交给算法的训练数据已经被打了“标签”,或者已经给出了分类。训练后的算法可以给新的数据打标签或者分类。

因此,监督学习的训练数据需要大量的人力来进行标记。

当然,在一些领域已经积累了一些被标记的数据信息,例如大型博客平台,对每篇博客都有分类和标签。这种时候,监督学习的人力成本基本就是 0 了。

4.2 非监督学习
给机器的训练数据没有任何“标签”,或者分类。训练后的算法仍然可以给新的数据打标签或者分类。

经常听到的算法,就有聚类分析,比如每个用户都被电商平台划分到某一用户群体。

另一个非常重要的用途,是对数据进行降维处理:

特征提取:提取重要的特征,去除不重要的特征。防止噪声影响特征提取

特征压缩:在保证数据信息不被过多损害的情况下,将高维向量压缩成低维向量,例如 PCA 算法。在保证稳定性的情况下,提高处理速度。

另一个非常重要的用途:异常检测。如下图所示。以方便算法发现一般性特征和规律

4.3 半监督学习
一部分数据有“标签”或分类,另一部分并没有。

此时,一般通过无监督学习手段对数据进行处理,之后使用监督学习做模型的训练和预测。

4.4 增强学习
根据周围环境,采取行动,再根据行动结果,改善学习行动方式。

如下图所示,agent 使我们的算法,当他执行后,会根据环境反馈来执行奖赏或者惩罚,再改进行为模式。循环往复。

而 AlphaGo、自动驾驶等前言机器人,都使用了增强学习。

5. 更多算法分类 5.1 批量学习和在线学习
批量学习是指:算法一旦根据数据训练出模型后,不会接受新的数据来优化模型。在线学习是指:算法运行的过程中,也会把吸收新数据进行模型训练。

优缺点显而易见,前者更省心,但是无法适应数据快速变化的场景;后者可以及时针对不同的数据来优化模型,但是容易受到新数据中垃圾数据影响。

5.2 非参数学习和参数学习

参数学习是给出数据模型,剩下的工作就是利用算法找出最合适参数。比如假定数据点符合y = ax + b的模型,剩下工作就是用最小二乘法之类的算法找到(a,b)的最优解。

非参数学习相反,不对模型进行过多假设,不将问题理解成学习一些参数。

5. 学习资料

在线课程:
Python3 入门机器学习 经典算法与应用

书籍:《python 机器学习实战》

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/19819.html

相关文章

  • 机器学习了解一下

    摘要:欢迎常来为什么要学老师上课时候就说过传统算法解决确定性问题,而机器学习解决非确定性问题。机器学习算法机器学习算法和普通算法还是有很大区别的。而自动驾驶等前言机器人,都使用了增强学习。学习资料在线课程入门机器学习经典算法与应用书籍机器学习实战 文章图片来源于 GitHub,网速不佳的朋友请点我看原文。 顺便软广一下个人技术小站:godbmw.com。欢迎常来♪(^∇^*) 1. 为什么要...

    SmallBoyO 评论0 收藏0
  • 深度学习机器学习的基本区别,你不能不知道!

    摘要:数据依赖深度学习与传统机器学习之间最重要的区别会随着数据规模的增大而表现出来。大多数机器学习算法的性能取决于特征识别和特征提取的准确程度。这是深度学习一个非常独特的部分,也是超越传统机器学习的重要部分。 介绍 机器学习和深度学习现在风靡一时!好像是在一瞬间,每个人都在谈论着它们 - 无论人们是否理解两者中间的差异!现在人们无论是否关注数据科学 - 都会听到过这两个术语。 现在展示一下深...

    sunsmell 评论0 收藏0
  • 深度学习机器学习的基本区别,你不能不知道!

    摘要:数据依赖深度学习与传统机器学习之间最重要的区别会随着数据规模的增大而表现出来。大多数机器学习算法的性能取决于特征识别和特征提取的准确程度。这是深度学习一个非常独特的部分,也是超越传统机器学习的重要部分。 介绍 机器学习和深度学习现在风靡一时!好像是在一瞬间,每个人都在谈论着它们 - 无论人们是否理解两者中间的差异!现在人们无论是否关注数据科学 - 都会听到过这两个术语。 现在展示一下深...

    leonardofed 评论0 收藏0
  • 深度学习机器学习的基本区别,你不能不知道!

    摘要:数据依赖深度学习与传统机器学习之间最重要的区别会随着数据规模的增大而表现出来。大多数机器学习算法的性能取决于特征识别和特征提取的准确程度。这是深度学习一个非常独特的部分,也是超越传统机器学习的重要部分。 介绍 机器学习和深度学习现在风靡一时!好像是在一瞬间,每个人都在谈论着它们 - 无论人们是否理解两者中间的差异!现在人们无论是否关注数据科学 - 都会听到过这两个术语。 现在展示一下深...

    Allen 评论0 收藏0
  • 普通程序员,如何转行人工智能?

    摘要:普通程序员,如何转向人工智能方向,是知乎上的一个问题。领域简介,也就是人工智能,并不仅仅包括机器学习。但是,人工智能并不等同于机器学习,这点在进入这个领域时一定要认识清楚。 人工智能已经成为越来越火的一个方向。普通程序员,如何转向人工智能方向,是知乎上的一个问题。本文是对此问题的一个回答的归档版。相比原回答有所内容增加。 目的 本文的目的是给出一个简单的,平滑的,易于实现的学习方法,帮...

    mingde 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<