机器学习原理、实现与实践——机器学习概论

如果一个系统能够通过执行某个过程改进它的性能,这就是学习。 ——— Herbert A. Simon

1. 机器学习是什么

计算机基于数据来构建概率统计模型并运用模型对数据进行预测与分析的一门学科。

从上面的机器学习的定义中,我们可以了解到以下的信息:

  • 机器学习以计算机及网络为平台,是建立在计算机及网络之上的;
  • 机器学习以数据为研究对象。
  • 机器学习的目的是对数据进行预测与分析
  • 机器学习以模型为中心。构建模型、优化模型并用模型来进行预测。
  • 机器学习的模型是基于概率统计的模型。里面大量用到了概率与统计的知识。
  • 机器学习也是信息论 、计算理论、最优化理论及计算机科学等多个领域的交叉学科,并且在发展中逐步形成独立的理论体系与方法论。

2. 机器学习的对象

机器学习的对象是数据,它从数据出发,提取数据的特征,抽象出数据的模型,发现数据中的知识,又回到对数据的分析与预测中去。同时,数据是多样的,包括存在计算机及网络上的各种数字、文字、图像、视频、音频数据及它们的组合。

那么什么样的数据可以被抽象,被学习呢,杂乱无章的数据可以吗?

机器学习关于数据的基本假设是同类数据具有一定的统计规律性。同类数据是指具有某种共同性质的数据,由于它们具有统计规律,所以可以用概率统计方法来加以处理。可以用随机变量描述数据数据中的特征,用概率分布描述数据的统计规律。

在实际的机器学习中,数据往往被提取为一个特征向量表示为

$$x = (x^{(1)},x^{(2)},\dots,x^{(i)},x^{(n)})^T$$

数据可以为离散的,也可以为连续的。

3. 机器学习的目的

机器学习用于对数据进行预测与分析,特别是对未知新数据进行预测与分析。

机器学习总的目标就是考虑学习什么样的模型和如何学习模型,以使模型能对数据进行准确的预测与分析,同理也要考虑尽可能地提高学习效率。

4. 机器学习的方法

机器学习的方法是基于数据构建统计模型从而对数据进行预测与分析。机器学习包括了监督学习、非监督学习、半监督学习和强化学习。

监督学习:从给定的、有限的、用于学习的训练数据(training data)集合出发,假设数据是独立同分布产生的;并且假设要学习的模型属于某个函数集合,这个函数集合称为假设空间(hypothesis space);应用某个评价准则,从假设空间中先取一个最优的模型,使它对已知训练数据及未知测试数据在给定的评价准则下有最优的预测;最优模型的选择由算法实现。

模型的假设空间、模型的选择准则以及模型学习的算法构成了机器学习的三要素,简称模型、策略、算法。

机器学习的步骤可以归纳为:

  1. 得到一个有限的训练数据集合;
  2. 确定包含所有可能的模型的假设空间,即学习模型的集合;
  3. 确定模型选择的准则,即学习策略;
  4. 实现求解最优模型的算法,即学习的算法;
  5. 通常学习方法选择最优模型;
  6. 利用学习的最优模型对新数据进行预测或分析。

5. 机器学习的应用

近20年来,机器学习无论是在理论上还是在应用方面都得到了巨大的发展,有许多重要突破,统计学习已被成功地应用到人工智能、模式识别、数据挖掘、自然语言处理、语音识别、图像识别、信息检索和生物信息等许多计算机应用领域中。

下面是从《机器学习实战》中摘录的一段文字,描述了假想的一日,机器学习已经与我们的生活息息相关。

假设你想起今天是某位朋友的生日,打算通过邮局给她邮寄一张生日贺卡。你打开浏览器搜索趣味卡片,搜索引擎显示了10个最相关的链接。你认为第二个链接最符合你的要求,点击这个链接,搜索引擎将记录这次点击,并从中学习以优化下次搜索结果。然后,你检查电子邮件系统,此时垃圾邮件过滤器已经在后台自动过滤垃圾广告邮件,并将其放在垃圾箱内。接着你去商店购买这张生日卡片,并给你朋友的孩子挑选了一些尿布。结账时,收银员给你一张1美元的优惠券,可以用于购买6罐装的啤酒。之所以你会得到这张优惠券,是因为款台收费软件基于以前的统计知识,认为买尿布的人往往也会买啤酒。然后你去邮局邮寄这张贺卡,手写识别软件识别出邮寄地址,并将贺卡发送给正确的邮车。当天你还去了贷款申请机构,查看自己是否能够申请贷款,办事员并不是直接给出结果,而是将你最近的金融活动信息输入计算机,由软件来判定你是否合格。最后,你还去了赌场想找些乐子,当你步入前门时,尾随你进来的一个家伙被突然出现的保安给拦了下来。“对不起,索普先生,我们不得不请你离开赌场。我们不欢迎老千”。

上面提到的所有场景,都有机器学习存在!

ML 01、机器学习概论的更多相关文章

  1. AI Boot Camp 分享之 ML.NET 机器学习指南

    今天在中国七城联动,全球134场的AI BootCamp胜利落幕,广州由卢建晖老师组织,我参与分享了一个主题<ML.NET 机器学习指南和Azure Kinect .NET SDK概要>, ...

  2. C# .NET ML.NET 机器学习 图像分类

    一. 准备工作 IDE是 VS2019.先下载好"resnet_v2_50_299.meta"这个文件,放入"C:\Users\jk\AppData\Local\Temp ...

  3. coursera机器学习笔记-机器学习概论,梯度下降法

    #对coursera上Andrew Ng老师开的机器学习课程的笔记和心得: #注:此笔记是我自己认为本节课里比较重要.难理解或容易忘记的内容并做了些补充,并非是课堂详细笔记和要点: #标记为<补 ...

  4. ML: 聚类算法-概论

    聚类分析是一种重要的人类行为,早在孩提时代,一个人就通过不断改进下意识中的聚类模式来学会如何区分猫狗.动物植物.目前在许多领域都得到了广泛的研究和成功的应用,如用于模式识别.数据分析.图像处理.市场研 ...

  5. 《鸟哥的Linux私房菜》笔记——01. 计算机概论

    计算机的五大部分:输入单元.输出单元.CPU(控制单元(Control Unit).算数逻辑单元(ALU)).内存. CPU 的架构 精简指令集(Reduced Instruction Set Com ...

  6. 机器学习 - ML

    CNCC - 2016 | 机器学习(原文链接) Machine Learning - ML,机器学习起源于人工智能,是AI的一个分支. 机器学习的理论基础:计算学习理论 - Computationa ...

  7. 一个开源的,跨平台的.NET机器学习框架ML.NET

    微软在Build 2018大会上推出的一款面向.NET开发人员的开源,跨平台机器学习框架ML.NET. ML.NET将允许.NET开发人员开发他们自己的模型,并将自定义ML集成到他们的应用程序中,而无 ...

  8. 使用ML.NET + Azure DevOps + Azure Container Instances打造机器学习生产化

    介绍 Azure DevOps,以前称为Visual Studio Team Services(VSTS),可帮助个人和组织更快地规划,协作和发布产品.其中一项值得注意的服务是Azure Pipeli ...

  9. 开源的,跨平台的.NET机器学习框架ML.NET

    微软在Build 2018大会上推出的一款面向.NET开发人员的开源,跨平台机器学习框架ML.NET. ML.NET将允许.NET开发人员开发他们自己的模型,并将自定义ML集成到他们的应用程序中,而无 ...

随机推荐

  1. mouseover和mouseout闪烁问题

    在父级元素上注册了mouseover和mouseout事件后,当鼠标移动到子元素上时,会触发父级的mouseout和mouseover事件,反复触发,形成闪烁. 原因: 一种是由于冒泡,子级的mous ...

  2. python多线程备份MYSQL数据库并删除旧的备份。

    #!/usr/bin/python # -*- coding=utf-8 -*- import time import os import datetime import threading from ...

  3. C#比较时间大小 1、比较时间大小的实验

    1.比较时间大小的实验    string st1="12:13"; string st2="14:14"; DateTime dt1=Convert.ToDa ...

  4. editplus批量删除重复行(编辑-删除-删除重复行)

    editplus快速删除重复数据 多行文本,有些行的文字或数据是重复的,该怎么删除重复部分,只留下不重复的部分?很多人对这个问题感到无比头疼,Editplus同样能快速帮你删除数据. 那么,editp ...

  5. HDU 4857 逃生 (优先队列+反向拓扑)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4857 解题报告:有n个点,有m个条件限制,限制是像这样的,输入a  b,表示a必须排在b的前面,如果不 ...

  6. DNS原理及其解析过程【精彩剖析】(转)

      2012-03-21 17:23:10 标签:dig wireshark bind nslookup dns 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否 ...

  7. tomcat安全配置(二)

    1. JVM 1.1. 使用 Server JRE 替代JDK. 服务器上不要安装JDK,请使用 Server JRE. 服务器上根本不需要编译器,代码应该在Release服务器上完成编译打包工作. ...

  8. 安装cuda时 提示toolkit installation failed using unsupported compiler解决方法

    在安装cuda的时候,有时候会提示toolkit installation failed using unsupported compiler.这是因为GCC版本不合适所导致的. 解决的方法很简单,直 ...

  9. HDU 3371 kruscal/prim求最小生成树 Connect the Cities 大坑大坑

    这个时间短 700多s #include<stdio.h> #include<string.h> #include<iostream> #include<al ...

  10. HDOJ 1312 DFS&BFS

    Red and Black Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...