机器学习的基本概念

本文深入浅出地介绍了机器学习的基础,包括其主要任务、分类与回归等概念。讲解了监督学习与无监督学习的区别,并列举了如K-近邻、决策树和支持向量机等经典算法。此外,还强调了Python在机器学习中的优势,并概述了开发机器学习应用的基本步骤。
摘要由CSDN通过智能技术生成

重点讲述机器学习的算法。并介绍使用这些算法的应用和工具。更多的谈论如何编码实现机器学习算法,而尽量减少讨论数学理论。如何将数学矩阵描述的机器学习算法转化为可以实际工作的应用程序,是本书的主要目的。

机器学习是什么?

机器学习可以揭示数据背后的真实含义。

数据挖掘十大算法

  • C4.5决策树
  • K-均值(K-mean)
  • 支持向量机(SVM)
  • Apriori
  • 最大期望算法(EM)(涉及太多数学理论,此处不做详述)
  • PageRank算法(Google充分论述过,此处不做详述)
  • AdaBoot算法
  • k-近邻算法(KNN)
  • 朴素贝叶斯算法(NB)
  • 分类回归树(CART)算法

第一部分: 分类

监督学习(supervised learning):

在监督学习的过程中,只需要给定输入样本集,机器就可以从中推演出指定目标变量的可能结果。

监督学习只需要从输入数据中预测合适的模型,并从中计算出目标变量的结果。

监督学习一般使用两种变量的目标模型:

  • 标称型(标称型目标变量的结果只在有限目标集中取值,如真假、动物分类集合{爬行类、鱼类、哺乳类、两栖类})
  • 数值型(数值型目标变量主要用于回归分析)

K-近邻算法(使用某种距离计算方法进行分类)

决策树(比较直观,容易理解,相对难于实现)

使用概率论建立分类器

讨论Logisitic回归

使用最优参数正确地分类原始数据

支持向量机

元算法——AdaBoost

cp1 : 机器学习基础

本章内容:

  • 机器学习的简单概述
  • 机器学习的主要任务
  • 学习机器学习的原因
  • Python语言的优势

机器学习: 利用计算机来彰显数据背后的真实含义,这才是机器学习的真实含义。

机器学习在日常生活中的应用:人脸识别、手写数字识别、垃圾邮件过滤和亚马逊公司的产品推荐

1.1 何谓机器学习

1.1.1 传感器和海量数据

移动计算和传感器产生海量数据意味着未来我们将面临着越来越多的数据。如何从海量数据中抽取到有价值的信息将是一个非常重要的课题。

1.1.2 机器学习非常重要

机器学习将有助于我们穿越数据雾霾,从中抽取出有用的信息。

1.2 关键术语

机器学习的主要任务是分类。

决定使用某个机器学习算法进行分类,首先需要做的是算法训练,即学习如何分类。

训练集: 用于训练机器学习算法的数据样本集合。

目标变量: 是机器学习算法的预测结果,在分类算法中目标变量的类型通常是标称型的。而在回归算法中通常是连续型的。

训练样本集必须确定知道目标变量的值,以便机器学习算法可以发现特征和目标变量之间的关系。

 为了测试机器学习算法的效果,通常使用两套独立的样本集:训练数据和测试数据。当机器学习程序开始运行时,使用训练样本集作为算法的输入,训练完成之后输入测试样本。输入测试样本时并不提供测试样本的目标变量,由程序决定样本属于哪个类别。比较测试样本预测的目标变量值与实际样本类别之间的差别,就可以得出算法的实际精确度。

1.3 机器学习的主要任务

机器学习如何解决分类问题,它的主要任务是将实例数据划分到合适的分类中。

机器学习的另一项任务是回归,它主要用于预测数值型数据。

数据拟合曲线:通过给定数据点的最优拟合曲线。分类和回归属于监督学习,之所以为监督学习,是因为这类算法必须知道预测什么,即目标变量的分类信息。

无监督学习,此时数据没有类别信息,也不会给定目标值。在无监督学习中,将数据集合分成由类似的对象组成的多个类的过程被称为聚类。将寻找描述数据统计值的过程称之为密度估计。

无监督学习还可以减少数据特征的维度,以便我们可以使用二维或三维图形更加直观地展示数据信息。

机器学习的主要任务,以及解决相应问题的算法。

1.4 如何选择合适的算法

选择实际可用的算法,必须考虑下面两个问题:

  • 使用机器学习算法的目的,想要算法完成何种任务,比如是预测明天下雨的概率还是对投票者按照兴趣分组。
  • 需要分析或收集的数据是什么。

首先考虑使用机器学习算法的目的。如果想要预测目标变量的值,则可以选择监督学习算法,否则可以选择无监督学习算法

确定选择监督学习算法之后,需要进一步确定目标变量类型

  • 如果目标变量是离散型,如是/否、1/2/3、A/B/C或红/黄/黑等。则可以选择分类器算法。
  • 如果目标变量是连续型,如0.0~100.00、-999~999、+∞~-∞等,则需要选择回归算法。

如果不想预测目标变量的值,则可以选择无监督学习算法。进一步分析是否需要将数据划分为离散的组。如果这是唯一的需求,则使用聚类算法;如果还需要估计数据与每个分组的相似程度,则需要使用密度估计算法

1.5 开发机器学习应用程序的步骤

  1. 收集数据。
  2. 准备输入数据。
  3. 分析输入数据。
  4. 训练算法。
  5. 测试算法。
  6. 使用算法。

1.6 Python语言的优势

  • Python 的语法清晰
  • 易于操作纯文本文件
  • 使用广泛,存在大量的开发文档。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值