机器学习的定义

  1. Arthur Samuel给出的定义,Field of Study that gives computers the ability to learn without being explicitly programmed.(在不直接针对问题进行编程的情况下,赋予计算机学习能力的一个研究领域)

  2. Tom Mitchell给出的定义,A computer program is said to learn from experience E with respect to some task T and some performace measure P,if its performance on T,as measured by P,improves with experience E.(对于某类任务T和性能度量P,如果一个计算机程序在T上以P衡量的性能随着经验E而自我完善,那么我们称这个计算机程序在从经验E学习)

Andrew Ng认为Tom Mitchell给出的例子仅仅是为了押韵,不是很容易理解。

Arthur Samuel给出这样的定义是有原因的。Samuel写了一个国际象棋的程序,但他本人并不擅长国际象棋。让这个程序和自己进行对弈,从而进行学习知道什么样的棋局能够胜利。

对于Mitchell给出的定义,我们使用一个下棋的例子来进行说明。在下棋程序中,经验E指的就是程序的上万次的自我联系的经验,任务T就是下棋,性能度量P指的就是在比赛过程中取胜的概率。

机器学习的分类

机器学习大致可以分为两类,监督学习和无监督学习。

监督学习,给定一个算法,需要部分数据已经有了正确答案。

无监督学习,给算法输入数据,要求算法自行分析这些数据得到结果。

有监督学习

监督学习的有可以分为:线性回归、逻辑回归。

  • 线性回归,用于根据连续变量估计实际数值(房价、呼叫次数、总销售额等)
  • 逻辑回归,该算法可根据已知的一系列因变量估计离散数值。

线性回归的算法问题,假设存在这样的数据,房价和房屋面积的关系。如下图:

如果给定了房屋面积,需要求出房价。这样就需要得到房屋面积和房价之间的关系。这样的问题就需要使用线性回归来解决。线性回归解决的问题就是连续变量之间的实际关系,这样的问题在高中数学里面也是十分常见的。

逻辑回归的问题,通过一个根据肿瘤大小来判断是良性还是恶性的问题来进行说明。

纵坐标只有两个值,0表示是良性的,1表示恶性的。横坐标表示的肿瘤的大小。那么最终的问题就是通过机器学习来对肿瘤的大小进行分析,判断是良性的还是恶性的。

需要说明的是,在逻辑回归中,很多时候特征是会有很多的。在上述的例子中,特征就只有一个就是肿瘤的大小。考虑到如果有很多的特征的时候,这个时候就需要使用到支持向量机。支持向量机能让电脑处理无限个特征。

无监督学习

在有监督学习中,会对每个数据进行标记。这样算法在进行分析的时候,就会有一个正确的数据来进行参考。

在无监督学习中,只有一个数据集,需要算法自行对数据进行分析,找出其中的特征,能够对数据进行分类。

下面就是无监督学习的一些常见的实际应用。

谷歌的新闻

谷歌爬虫每天会从网络中爬取大量的新闻,通过无监督的学习算法,自动将这些新闻进行分类,这样就不需要人工进行分类了。在这样的例子中,其实算法之前没有经过训练,通过分析新闻,然后自动地进行分类

市场营销

在电商中一般会有大量的用户信息。通过无监督算法,将这些用户进行分类,划分到更小的市场中

社交网络

无监督学习通过分析email中的联系人情况,Facebook或者是Google+中的朋友,就能够判断出你与其他好友之间的亲密关系。

通过我的发现,我发现无监督学习貌似在分类方面应用的较多。

机器学习算法编程

Andrew Ng推荐使用的是Octave来完成。

总结

通过本章学习,对机器学习算法有了一个初步的认识。

为了了能到远方,脚下的每一步都不能少。

Andrew Ng机器学习算法入门(二):机器学习分类的更多相关文章

  1. Andrew Ng机器学习算法入门(一):简介

    简介 最近在参加一个利用机器学习来解决安全问题的算法比赛,但是对机器学习的算法一直不了解,所以先了解一下机器学习相关的算法. Andrew Ng就是前段时间从百度离职的吴恩达.关于吴恩达是谁,相信程序 ...

  2. Andrew Ng机器学习算法入门(九):逻辑回归

    逻辑回归 先前所讲的线性回归主要是一个预测问题,根据已知的数据去预测接下来的情况.线性回归中的房价的例子就很好地说明了这个问题. 然后在现实世界中,很多问题不是预测问题而是一个分类问题. 如邮件是否为 ...

  3. Andrew Ng机器学习算法入门((七):特征选择和多项式回归

    特征选择 还是回归到房价的问题.在最开始的问题中,我们假设房价与房屋面积有关,那么最开始对房价预测的时候,回归方程可能如下所示: 其中frontage表示的房子的长,depth表示的是房子的宽. 但长 ...

  4. 斯坦福大学Andrew Ng教授主讲的《机器学习》公开课观后感[转]

    近日,在网易公开课视频网站上看完了<机器学习>课程视频,现做个学后感,也叫观后感吧. 学习时间 从2013年7月26日星期五开始,在网易公开课视频网站上,观看由斯坦福大学Andrew Ng ...

  5. 机器学习算法总结(二)——决策树(ID3, C4.5, CART)

    决策树是既可以作为分类算法,又可以作为回归算法,而且在经常被用作为集成算法中的基学习器.决策树是一种很古老的算法,也是很好理解的一种算法,构建决策树的过程本质上是一个递归的过程,采用if-then的规 ...

  6. Andrew Ng机器学习算法入门(十):过拟合问题解决方法

    在使用机器学习对训练数据进行学习和分类的时候,会出现欠拟合和过拟合的问题.那么什么是欠拟合和过拟合问题呢?

  7. Andrew Ng机器学习算法入门(三):线性回归算法

    线性回归 线性回归,就是能够用一个直线较为精确地描述数据之间的关系.这样当出现新的数据的时候,就能够预测出一个简单的值. 线性回归中最常见的就是房价的问题.一直存在很多房屋面积和房价的数据,如下图所示 ...

  8. Andrew Ng机器学习算法入门(八):正规方程

    正规方程 在先学习正规方程之前,先来复习一下之前学过的常规的回归方程的解法. 假设存在如果的代价函数, ,解法也十分的简答. 但是有时候遇到的情况或许会变得相当的复杂. 的数,如果是按照常规的方式进行 ...

  9. Andrew Ng机器学习算法入门((六):多变量线性回归方程求解

    多变量线性回归 之前讨论的都是单变量的情况.例如房价与房屋面积之前的关系,但是实际上,房价除了房屋面积之外,还要房间数,楼层等因素相关.那么此时就变成了一个多变量线性回归的问题.在实际问题中,多变量的 ...

随机推荐

  1. Java 树结构的基础部分(一)

    二叉树 1.1 为什么需要树这种数据结构 1) 数组存储方式的分析 优点:通过下标方式访问元素,速度快.对于有序数组,还可使用二分查找提高检索速度. 缺点:如果要检索具体某个值,或者插入值(按一定顺序 ...

  2. C# 应用 - 使用 WepApp 处理文件上传、下载请求

    1. 代码 /// <summary> /// 文件上传下载控制器 /// </summary> public class FileController : ApiContro ...

  3. 60秒定位问题,十倍程序员的Debug日常

    作者:陶建辉 这是我在 2020 年 5 月写的一篇内部博客,当时是希望研发和技术支持同学能够帮助用户快速定位 Bug,解决问题.2020 年 12 月我又迭代了一版,并还针对此进行了内部的培训.这段 ...

  4. DES加密--不安全加密

    package test; import java.security.InvalidKeyException; import java.security.Key; import java.securi ...

  5. ASP.NET Core中间件初始化探究

    前言 在日常使用ASP.NET Core开发的过程中我们多多少少会设计到使用中间件的场景,ASP.NET Core默认也为我们内置了许多的中间件,甚至有时候我们需要自定义中间件来帮我们处理一些请求管道 ...

  6. 全网最详细的Linux命令系列-cp命令

    cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一.一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数.但是如果是 ...

  7. 热更新应用--热补丁Hotfix学习笔记

    一.热补丁简介 热补丁主要是用于将纯C#工程在不重做的情况下通过打补丁的形式改造成具备lua热更新功能工程,主要是让原来脚本中Start函数和Update函数等函数代码块重定向到lua代码. 二.第一 ...

  8. Node.js 包管理器 NPM 讲解

    包管理器又称软件包管理系统,它是在电脑中自动安装.配制.卸载和升级软件包的工具组合,在各种系统软件和应用软件的安装管理中均有广泛应用.对于我们业务开发也很受益,相同的东西不必重复去造轮子. 每个工具或 ...

  9. 99%的Python用户都不知道的f-string隐秘技巧

    f-string想必很多Python用户都基础性的使用过,作为Python3.6版本开始引入的特性,通过它我们可以更加方便地向字符串中嵌入自定义内容,但f-string真正蕴含的功能远比大多数用户知道 ...

  10. [.net] 关于Exception的几点思考和在项目中的使用(三)

    本文链接: https://www.cnblogs.com/hubaijia/p/about-exceptions-3.html 系列文章: 关于Exception的几点思考和在项目中的使用(一) 关 ...