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. 关于ThinkPHP在Nginx服务器下因PATH_INFO出错的解决方法

    参考:https://www.linuxidc.com/Linux/2011-11/46871.htm 这是一个ningx设置的问题,和TP无关.TP默认使用PATH_INFO来做CURD,而ngin ...

  2. [Effective Java 读书笔记] 第二章 创建和销毁对象 第三 四条

    第三条 用私有构造器或者枚举类型强化singleton属性 singleton指只能被实例化一次的类,即将构造器设置为私有,使用公有静态成员来实例化,且只实例化一次对象 第四条 通过私有构造器强化不可 ...

  3. javascript 防止多次提交或执行(在规定时间段内只允许执行一次) 默认 3000ms

    "use strict" class Func{ constructor(){} isRun(id, time){//防止多次提交或执行(在规定时间段内只允许执行一次) 默认 30 ...

  4. 20200221--python学习第14天

    今日内容 带参数的装饰器:flash框架+django缓存+写装饰器实现被装饰的函数要执行N次 模块: os sys time datetime和timezone[了解] 内容回顾与补充 1.函数 写 ...

  5. 如何构建OpenStack镜像

    本文以制作CentOS7.2镜像为例,详细介绍手动制作OpenStack镜像详细步骤,解释每一步这么做的原因.镜像上传到OpenStack glance,支持以下几个功能: 支持密码注入功能(nova ...

  6. PYTHON 学习笔记4 模块的使用、基本IO 写入读取、JSON序列化

    前言 若在之前写代码的方式中,从Python 解释器进入.退出后再次进入,其定义的变量.函数等都会丢失.为了解决这个为,我们需要将需要的函数.以及定义的变量等都写入一个文件当中.这个文件就叫做脚本 随 ...

  7. 解决shiro自定义filter后,ajax登录无法登录,并且无法显示静态资源的问题

    这个问题困扰了我一天,看了下面两个文章,豁然开朗: https://www.cnblogs.com/gj1990/p/8057348.html https://412887952-qq-com.ite ...

  8. 大数据运维尖刀班 | 集群_监控_CDH_Docker_K8S_两项目_腾讯云服务器

    说明:大数据时代,传统运维向大数据运维升级换代很常见,也是个不错的机会.如果想系统学习大数据运维,个人比较推荐通信巨头运维大咖的分享课:https://url.cn/5HIqOOr,主要是实战强.含金 ...

  9. 题解【[USACO05NOV]奶牛玩杂技】

    \[ \texttt{Description} \] 有 \(n\) 头牛,每头牛都有自己的体重 \(W_i\) 和力量 \(S_i\) . 将这 \(n\) 头牛摞在一起,每头牛的压扁指数定义为:压 ...

  10. 戏说前端之CSS编码规范

    前言 项目启动时 css 应该注意哪些问题 文件名规范 文件名建议用小写字母加中横线的方式.为什么呢?因为这样可读性比较强,看起来比较清爽,像链接也是用这样的方式,例如 // 地址: github的地 ...