Andrew Ng机器学习算法入门(二):机器学习分类
机器学习的定义
Arthur Samuel给出的定义,Field of Study that gives computers the ability to learn without being explicitly programmed.(在不直接针对问题进行编程的情况下,赋予计算机学习能力的一个研究领域)
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机器学习算法入门(二):机器学习分类的更多相关文章
- Andrew Ng机器学习算法入门(一):简介
简介 最近在参加一个利用机器学习来解决安全问题的算法比赛,但是对机器学习的算法一直不了解,所以先了解一下机器学习相关的算法. Andrew Ng就是前段时间从百度离职的吴恩达.关于吴恩达是谁,相信程序 ...
- Andrew Ng机器学习算法入门(九):逻辑回归
逻辑回归 先前所讲的线性回归主要是一个预测问题,根据已知的数据去预测接下来的情况.线性回归中的房价的例子就很好地说明了这个问题. 然后在现实世界中,很多问题不是预测问题而是一个分类问题. 如邮件是否为 ...
- Andrew Ng机器学习算法入门((七):特征选择和多项式回归
特征选择 还是回归到房价的问题.在最开始的问题中,我们假设房价与房屋面积有关,那么最开始对房价预测的时候,回归方程可能如下所示: 其中frontage表示的房子的长,depth表示的是房子的宽. 但长 ...
- 斯坦福大学Andrew Ng教授主讲的《机器学习》公开课观后感[转]
近日,在网易公开课视频网站上看完了<机器学习>课程视频,现做个学后感,也叫观后感吧. 学习时间 从2013年7月26日星期五开始,在网易公开课视频网站上,观看由斯坦福大学Andrew Ng ...
- 机器学习算法总结(二)——决策树(ID3, C4.5, CART)
决策树是既可以作为分类算法,又可以作为回归算法,而且在经常被用作为集成算法中的基学习器.决策树是一种很古老的算法,也是很好理解的一种算法,构建决策树的过程本质上是一个递归的过程,采用if-then的规 ...
- Andrew Ng机器学习算法入门(十):过拟合问题解决方法
在使用机器学习对训练数据进行学习和分类的时候,会出现欠拟合和过拟合的问题.那么什么是欠拟合和过拟合问题呢?
- Andrew Ng机器学习算法入门(三):线性回归算法
线性回归 线性回归,就是能够用一个直线较为精确地描述数据之间的关系.这样当出现新的数据的时候,就能够预测出一个简单的值. 线性回归中最常见的就是房价的问题.一直存在很多房屋面积和房价的数据,如下图所示 ...
- Andrew Ng机器学习算法入门(八):正规方程
正规方程 在先学习正规方程之前,先来复习一下之前学过的常规的回归方程的解法. 假设存在如果的代价函数, ,解法也十分的简答. 但是有时候遇到的情况或许会变得相当的复杂. 的数,如果是按照常规的方式进行 ...
- Andrew Ng机器学习算法入门((六):多变量线性回归方程求解
多变量线性回归 之前讨论的都是单变量的情况.例如房价与房屋面积之前的关系,但是实际上,房价除了房屋面积之外,还要房间数,楼层等因素相关.那么此时就变成了一个多变量线性回归的问题.在实际问题中,多变量的 ...
随机推荐
- 利用kali系统制作最简单的OS
制作最简单的OS 一.生成.bin文件 1.创建Boot.asm文件,输入相应的汇编代码 org 07c00h ; mov ax, cs mov ds, ax mov es, ax call Disp ...
- python-@函数装饰器
例如@classmethod,@staticmethod的本质就是函数装饰器,其中,classmethod和staticmethod都是python的内置函数 使用@引用已有的函数后,可用于修饰其他函 ...
- Cup HDU - 2289
题目传送门:https://vjudge.net/problem/HDU-2289 题意:有一个上口小于底部的圆台形水杯,告诉我们水的体积求水高度. 思路:利用高中数学知识求rr然后二分求h,具体化简 ...
- 对用pyinstaller打包的exe程序进行反编译,获得源码
参考文章: 1.https://www.cnblogs.com/DirWang/p/12018949.html#PyInstallerExtractor 2.https://msd.misuland. ...
- C语言宏的使用
使用条件宏进行条件编译 譬如,对于同一份代码,我想编译出两个不同的版本,在其中一个版本中去掉某一部分功能, 这时可以通过条件宏判断是否编译,例: 如果不使用条件宏进行控制,想编译两个不同版本的程序,就 ...
- 深入理解Java并发框架AQS系列(三):独占锁(Exclusive Lock)
一.前言 优秀的源码就在那里 经过了前面两章的铺垫,终于要切入正题了,本章也是整个AQS的核心之一 从本章开始,我们要精读AQS源码,在欣赏它的同时也要学会质疑它.当然本文不会带着大家逐行过源码(会有 ...
- (5)MySQL进阶篇SQL优化(优化数据库对象)
1.概述 在数据库设计过程中,用户可能会经常遇到这种问题:是否应该把所有表都按照第三范式来设计?表里面的字段到底改设置为多大长度合适?这些问题虽然很小,但是如果设计不当则可能会给将来的应用带来很多的性 ...
- Spring Boot 轻量替代框架 Solon 1.3.20 发布
Solon 是一个微型的Java开发框架.项目2018年启动,参考过大量前人作品:内核0.1m的身材,超高的跑分,以及良好的使用体验.支持:RPC.REST API.MVC.WebSocket.Soc ...
- 结对编程_stage1
项目 内容 这个作业属于哪个课程 2021春季软件工程(罗杰 任健) 这个作业的要求在哪里 结对项目-第一阶段 我在这个课程的目标是 从实践中学习软件工程相关知识(结构化分析和设计方法.敏捷开发方法. ...
- kestrel Server的源码分析
今天这一篇博客讲的是.net core 自带的kestrel server,当你开发微服务k8s部署在linux环境下,一般默认开启这个高性能服务,如果大家之前看过我的owin katana的博客,会 ...