1、为何选择机器学习

 在智能应用的早期,许多系统使用人为的if和else语句来处理数据,以主动拦截邮箱的垃圾邮件为例,可以创建一个关键词黑名单,所有包含这些关键词的邮件被标记为垃圾邮件,这是人为制定策略的一种方式,但这种方式有以下两种缺点:

  • 做决策所需要的逻辑只适用于单一领域和单项任务。任务哪怕稍有变化,都可能需要重写整个系统。

  • 想要制订规则,需要对人类专家的决策过程有很深刻的理解

 而这种人为制定规则政策的方式最不适用的反面教材就是机器学习,由于计算机"感知"像素点(图像)的方式与人类感知面部的方式有非常大的不同,所以人们想制定一种规则来识别数字图像中的人脸,基本上是不可能的,而对机器学习算法,仅需要输入大量的人脸图像,就可以让算法确定人脸的特征,由此才实现人脸识别的功能。

2、机器学习能够解决的问题

 最成功的机器学习算法是能够将决策过程自动化的算法,又称为“监督学习算法”,就像老师监督一样,给出大量的试题以及答案,然后让人去判断。在这种算法中用户将成对的输入和预期输出提供给算法,算法会找到一种方法,根据给定输入给出预期输出。尤其是在没有人类帮助的情况下,给定前所未见的输入,算法也能够给出相应的输出。以前面的垃圾邮件的自动判断,用户提供大量的邮件作为输入,将大量邮件内是否为垃圾邮件作为预定输出,给定邮件就可以自动判断是否为垃圾邮件。

  主要实例:

  • 识别信封上手写的邮政编码:这里的输入是扫描的手写数字,预期输出是邮政编码中的实际数字。

  • 基于医学图像判断肿瘤是否为良性:这里的输入是影像,输出是肿瘤是否为良性。

  • 检测信用卡交易中的欺诈行为:这里的输入是信用卡交易记录,输出是该交易记录是否可能为诈骗。

 而另一种机器学习算法是"无监督学习算法",在该算法中,只有输入数据是已知的,没有为算法提供输出数据。这种算法虽然有许多应用,但理解和评估这种算法往往困难很大。

  主要实例:

  • 确定一系列博客文章的主题:进行汇总,数据作为输入,而不知道有哪些主题,有多少主题。所以输出是未知的。

  • 将客户分成具有相似偏好的群组:客户作为数据,但不知道可以按什么分组,分成哪几种主题的分组,所以输出未知。

  • 检测网站的异常访问:每种异常访问方式都不同,而可能还有没有记录在案的异常访问示例。

 在机器学习中,这里的每个实体或每一行被称为一个样本(sample)或数据点,而每一列(用来描述这些实体的属性)则被称为特征(feature)。构建良好的数据表征,这被称为特征提取或者特征工程。由一个人的名字可以大概率判断一个人的性别就是这类应用。

3.熟悉任务和数据

 在学习过程中或者开始时要牢记这几个问题:

  • 我想要回答的问题是什么?已经收集到的数据能够回答这个问题吗?

  • 要将我的问题表示成机器学习问题,用哪种方法最好?

  • 我收集的数据是否足够表达我想要解决的问题?

  • 我提取了数据的哪些特征?这些特征能否实现正确的预测?

  • 如何衡量应用是否成功?

  • 机器学习解决方案与我的研究或商业产品中的其他部分是如何相互影响的?

4、Python的scikit-learn

  scikit-learn 是一个开源项目,可以免费使用和分发,任何人都可以轻松获取其源代码来查看其背后的原理。scikit-learn 项目正在不断地开发和改进中,它的用户社区非常活跃。它包含许多目前最先进的机器学习算法,每个算法都有详细的文(http://scikit-learn.org/stable/documentation)。scikit-learn 是一个非常流行的工具,也是最有名的 Python 机器学习库。

  安装scikit-learn

  若已经安装了 Python,可以用 pip 安装上述所有包:

  $ pip install numpy scipy matplotlib ipython scikit-learn pandas

[Python机器学习]机器学习概述的更多相关文章

  1. 【python与机器学习实战】感知机和支持向量机学习笔记(一)

    对<Python与机器学习实战>一书阅读的记录,对于一些难以理解的地方查阅了资料辅以理解并补充和记录,重新梳理一下感知机和SVM的算法原理,加深记忆. 1.感知机 感知机的基本概念 感知机 ...

  2. 用Python开始机器学习(7:逻辑回归分类) --好!!

    from : http://blog.csdn.net/lsldd/article/details/41551797 在本系列文章中提到过用Python开始机器学习(3:数据拟合与广义线性回归)中提到 ...

  3. [resource]23个python的机器学习包

    23个python的机器学习包,从常见的scikit-learn, pylearn2,经典的matlab替代orange, 到最新最酷的Theano(深度学习)和torch 7 (well,其实lua ...

  4. 机器学习00:如何通过Python入门机器学习

    我们都知道机器学习是一门综合性极强的研究课题,对数学知识要求很高.因此,对于非学术研究专业的程序员,如果希望能入门机器学习,最好的方向还是从实践触发. 我了解到Python的生态对入门机器学习很有帮助 ...

  5. Python相关机器学习‘武器库’

    开始学习Python,之后渐渐成为我学习工作中的第一辅助脚本语言,虽然开发语言是Java,但平时的很多文本数据处理任务都交给了Python.这些年来,接触和使用了很多Python工具包,特别是在文本处 ...

  6. 基于Python的机器学习实战:KNN

    1.KNN原理: 存在一个样本数据集合,也称作训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一个数据与所属分类的对应关系.输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应 ...

  7. Windows+Python+anaconda机器学习安装及环境配置步骤

    Windows+Python+anaconda机器学习安装及环境配置步骤 1. 下载安装python3.6以上版本(包含pip,不用自己安装)2. 直接下载安装pycharm安装包(用于编写pytho ...

  8. 用Python开始机器学习(2:决策树分类算法)

    http://blog.csdn.net/lsldd/article/details/41223147 从这一章开始进入正式的算法学习. 首先我们学习经典而有效的分类算法:决策树分类算法. 1.决策树 ...

  9. Python开源机器学习框架:Scikit-learn六大功能,安装和运行Scikit-learn

    Python开源机器学习框架:Scikit-learn入门指南. Scikit-learn的六大功能 Scikit-learn的基本功能主要被分为六大部分:分类,回归,聚类,数据降维,模型选择和数据预 ...

  10. 沉淀再出发:使用python进行机器学习

    沉淀再出发:使用python进行机器学习 一.前言 使用python进行学习运算和机器学习是非常方便的,因为其中有很多的库函数可以使用,同样的python自身语言的特点也非常利于程序的编写和使用. 二 ...

随机推荐

  1. Git 分支设计规范

    概述 这篇文章分享 Git 分支设计规范,目的是提供给研发人员做参考. 规范是死的,人是活的,希望自己定的规范,不要被打脸. 在说 Git 分支规范之前,先说下在系统开发过程中常用的环境. 简称 全称 ...

  2. Pyinstaller 打包程序为可执行文件exe

    Pyiinstaller打包 pyinstaller是python的一个第三方模块,使用它可以将pythnon程序打包为可执行文件,实现打包后的程序在没有python环境的机器上也可以运行.pyins ...

  3. 安装python 第三方库(whl,py格式)

      注意:在python环境中输入  help('modules')   可以列出所有已经安装的模块     1.windows平台下:            1..1安装whl文件       安装 ...

  4. Windows服务器使用Telegraf采集服务器监控指标输出到influxdb

    1.环境说明 操作系统:Windows Server 2008 R2 IP:192.168.10.135 官方文档地址 :https://docs.influxdata.com/telegraf/v1 ...

  5. 风物长宜放眼量,人间正道是沧桑 - 一位北美 IT 技术人破局

    引言 我对于本科时光的印象,还停留在那所普通 211 大学的建筑物之间,我坐在大学的时光长廊里,满眼望去,都是经历的过的故事.可毕业后回首,却很少有人能说,自己从来没有迷茫过.迷茫,仿佛就是一团乌云, ...

  6. linux入门系列14--ssh服务及主机远程管理

    通过前面十余篇文章的介绍,相信已经初步入门Linux本地管理的基本方法了,后续的文章将介绍Linux中常用的服务部署以及如何为外部提供相应的服务. 系列文章第三篇"linux入门系列3--l ...

  7. Vue+Webpack打包之后超过url-loader大小限制的图片在css的background-image中使用路径问题

    一个vue项目中有一张图片,在css中background-image中使用,大小超过了url-loader大小限制.npm run dev的时候一切正常.npm run build之后图片被直接放在 ...

  8. 关于软件 TELEGRAM(电报) 的说明

    PLUS是TELEGRAM(电报)的三方客户端. 而 电报 是一款即时通讯软件.功能全面,安全性好,但在国内无法直接访问. 相关安全性介绍请看这里:https://www.anquanke.com/p ...

  9. html基本介绍,了解html与css,html语法和结构

    一般来说,制作自己第一个网页通常书写的文字是"hello world!你好,全世界",代码如下展示: <!DOCTYPE html> <html lang=&qu ...

  10. cesium结合geoserver实现地图空间查询(附源码下载)

    前言 cesium 官网的api文档介绍地址cesium官网api,里面详细的介绍 cesium 各个类的介绍,还有就是在线例子:cesium 官网在线例子,这个也是学习 cesium 的好素材. 内 ...