MachineLearning:一、什么是机器学习

简介

  在介绍机器学习之前,我想先列几个关于机器学习的例子:

  • 垃圾邮件检测:根据邮箱中的邮件,识别哪些是垃圾邮件,哪些不是。这样的模型,可以程序帮助归类垃圾邮件和非垃圾邮件。这个例子,我们应该都不陌生。
  • 信用卡欺诈检测:根据用户一个月内的信用卡交易,识别哪些交易是该用户操作的,哪些不是。这样的决策模型,可以帮助程序退还那些欺诈交易。
  • 数字识别:根据信封上手写的邮编,识别出每一个手写字符所代表的数字。这样的模型,可以帮助程序阅读和理解手写邮编,并根据地利位置分类信件。
  • 语音识别:从一个用户的话语,确定用户提出的具体要求。这样的模型,可以帮助程序能够并尝试自动填充用户需求。带有Siri系统的iPhone就有这种功能。
  • 人脸识别:根据相册中的众多数码照片,识别出那些包含某一个人的照片。这样的决策模型,可以帮助程序根据人脸管理照片。某些相机或软件,如iPhoto,就有这种功能。
  • 产品推荐:根据一个用户的购物记录和冗长的收藏清单,识别出这其中哪些是该用户真正感兴趣,并且愿意购买的产品。这样的决策模型,可以帮助程序为客户提供建议并鼓励产品消费。登录Facebook或GooglePlus,它们就会推荐可能有关联的用户给你。
  • 医学分析:根据病人的症状和一个匿名的病人资料数据库,预测该病人可能患了什么病。这样的决策模型,可以程序为专业医疗人士提供支持。
  • 股票交易:根据一支股票现有的和以往的价格波动,判断这支股票是该建仓、持仓还是减仓。这样的决策模型,可以帮助程序为金融分析提供支持。
  • 客户细分:根据用户在试用期的的行为模式和所有用户过去的行为,识别出哪些用户会转变成该产品的付款用户,哪些不会。这样的决策模型,可以帮助程序进行用户干预,以说服用户早些付款使用或更好的参与产品试用。
  • 形状鉴定:根据用户在触摸屏幕上的手绘和一个已知的形状资料库,判断用户想描绘的形状。这样的决策模型,可以帮助程序显示该形状的理想版本,以绘制清晰的图像。iPhone应用Instaviz就能做到这样。[1]

机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,主要使用归纳、综合而不是演绎[2]

关于机器学习的定义有很多,一种经常被引用的英文定义是:A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.[3]

上面的这个定义如何理解呢?想象一下有一个邮箱过滤程序接受到一封邮件,该程序如何判断这封邮件是不是垃圾邮件呢?首先这封邮件先观察你之前标记过是不是垃圾邮件的邮件,基于这个学习到的经验,该过滤程序为你过滤掉垃圾邮件了。在这个任务中:

  • 判断邮件是不是垃圾邮件,这个任务T
  • 观察到你之前标记过是不是垃圾邮件的邮件,这个是经验E
  • 正确分类垃圾邮件与非垃圾邮件的数量,这个是性能P

机器学习分类

从最广义的讲,任何涉及机器学习所用的方法,只要它利用了训练样本的信息,都可以认为运用了学习。实践中和有意义的机器学习都是如此困难,以至于根本无法实现猜测出一个最佳的分类判决。因此大部分的时间都运用与研究学习问题。实现一个机器学习算法设计:给定一般的模型或分类器的形式,利用训练样本去学习或评估模型的未知参数。这里的学习指用某种算法来降低训练样本的分类误差。一大类基于梯度下降的算法,能够调节分类器的参数,使它朝着能够降低误差的方向前进,目前已成为机器学习领域的主流学习算法。[4]
在一个机器学习的应用中,根据数据类型的不同,对一个问题的建模有不同的方式。在机器学习或者人工智能领域,人们首先会考虑算法的学习方式。在机器学习领域,有几种主要的学习方式。将算法按照学习方式分类是一个不错的想法,这样可以让人们在建模和算法选择的时候考虑能根据输入数据来选择最合适的算法来获得最好的结果。[5]

监督式学习

在监督式学习下,输入数据被称为“训练数据”,每组训练数据有一个明确的标识或结果,如对防垃圾邮件系统中“垃圾邮件”“非垃圾邮件”,对手写数字识别中的“1“,”2“,”3“,”4“等。在建立预测模型的时候,监督式学习建立一个学习过程,将预测结果与“训练数据”的实际结果进行比较,不断的调整预测模型,直到模型的预测结果达到一个预期的准确率。监督式学习的常见应用场景如分类问题和回归问题。常见的算法有:逻辑回归,感知机,SVM支持向量机。

非监督学习

在非监督式学习中,数据并不被特别标识,学习模型是为了推断出数据的一些内在结构。常见的应用场景包括关联规则的学习以及聚类等。常见算法包括:Apriori算法以及k-Means算法。

半监督学习

在此学习方式下,输入数据部分被标识,部分没有被标识,这种学习模型可以用来进行预测,但是模型首先需要学习数据的内在结构以便合理的组织数据来进行预测。应用场景包括分类和回归,算法包括一些对常用监督式学习算法的延伸,这些算法首先试图对未标识数据进行建模,在此基础上再对标识的数据进行预测。如图论推理算法(Graph Inference)或者拉普拉斯支持向量机(Laplacian SVM.)等。

强化学习

在这种学习模式下,输入数据作为对模型的反馈,不像监督模型那样,输入数据仅仅是作为一个检查模型对错的方式,在强化学习下,输入数据直接反馈到模型,模型必须对此立刻作出调整。常见的应用场景包括动态系统以及机器人控制等。常见算法包括Q-Learning以及时间差学习(Temporal difference learning)

机器学习框架

在机器学习领域有很多的框架、库以及软件。比较出名的有:C++的opencv, shark等,java中weka、hadoop的mahout、spark的mllib,matlab中的LibSVM、caffe,python的scikit-learn、NLTK、theano、brain、caffe等。机器学习框架、库与软件列表

目录(持续更新)

  • 基础知识
  • 概率分布
  • 回归
    • CART:分类和回归树算法
    • SVR支持向量回归
  • 分类
    • 感知机
    • 逻辑回归
      • 逻辑回归
      • 逻辑回归实现
      • scikit-learn中的逻辑回归
    • 分类决策数算法C4.5
    • 最近邻分类
    • 朴素贝叶斯算法
    • CART:分类和回归树算法
    • Ada Boost迭代算法
    • 支持向量机
    • 图模型
  • 聚类
    • k均值聚类
  • 时间序列
    • 时间序列完全教程(R)
    • HMM隐马尔科夫模型
  • 降维
    • LDA浅显理解
  • 其他算法
    • 最大期望(EM)算法
    • Apriori算法
  • 最优化算法
    • 梯度下降法

#参考资料
[1] 机器学习十个实例
[2] 百度百科
[3] 机器学习
[4] 模式分类
[5] 机器学习常见分类

时间: 2024-07-28 17:45:05

MachineLearning:一、什么是机器学习的相关文章

机器学习中的正则化和范数规则化

机器学习中的正则化和范数规则化 正则化和范数规则化 文章安排:文章先介绍了正则化的定义,然后介绍其在机器学习中的规则化应用L0.L1.L2规则化范数和核范数规则化,最后介绍规则化项参数的选择问题. 正则化(regularization)来源于线性代数理论中的不适定问题,求解不适定问题的普遍方法是:用一族与原不适定问题相“邻近”的适定问题的解去逼近原问题的解,这种方法称为正则化方法.如何建立有效的正则化方法是反问题领域中不适定问题研究的重要内容.通常的正则化方法有基于变分原理的Tikhonov正则

机器学习资源汇总

SATRT:斯坦福大学机器学习公开课视频.讲义.笔记等.  http://mooc.guokr.com/note/16274/ 1.斯坦福大学机器学习公开课: http://open.163.com/special/opencourse/machinelearning.html 2.机器学习资料汇总: http://blog.coursegraph.com/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E5%85%AC%E5%BC%80%E8%AF%BE%E6%B1%

[转载]一些图像识别初创公司产品

一.微软认知服务API 1.年龄.性别检测 2.物体分类.识别 3.识别名人 全新的名人识别模块可以识别20万来自全球各地涉及商界.政界.体育界以及娱乐界的名人. 4.读取图片中的文字 光学字符识别(OCR)可检测图片中的文字信息,并将提取出来的文字信息转化成为机器可读的字符串.通过分析图像来检测嵌入式文本,生成字符串并提供搜索功能.可以让直接拍摄文本的图片,无需手动转录文字,从而节省时间和精力.  5.情绪识别+视频图片情绪识别 可检测到的情感有愤怒.轻蔑.厌恶.恐惧.快乐.无表情.悲伤以及惊

深度学习入门和学习书籍

深度学习书籍推荐: 深度学习(Deep Learning) by Ian Goodfellow and Yoshua Bengio and Aaron Courville 中文版下载地址:https://github.com/exacity/deeplearningbook-chinese R语言深度学习实践指南(Deep Learning Made Easy with R) by Dr. N.D. Lewis 下载地址:http://download.csdn.net/detail/oscer

『Python』MachineLearning机器学习入门_极小的机器学习应用

一个小知识: 有意思的是,scipy囊括了numpy的命名空间,也就是说所有np.func都可以通过sp.func等价调用. 简介: 本部分对一个互联网公司的流量进行拟合处理,学习最基本的机器学习应用. 导入包&路径设置: import os import scipy as sp import matplotlib.pyplot as plt data_dir = os.path.join( os.path.dirname(os.path.realpath(__file__)), "..

『Python』MachineLearning机器学习入门_效率对比

效率对比: 老生常谈了,不过这次用了个新的模块, 运行时间测试模块timeti: 1 import timeit 2 3 normal = timeit.timeit('sum(x*x for x in range(1000))', number=10000) 4 native_np = timeit.timeit('sum(na*na)', # 重复部分 5 setup="import numpy as np; na = np.arange(1000)", # setup只运行一次

【机器学习实战】Machine Learning in Action 代码 视频 项目案例

MachineLearning 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远 Machine Learning in Action (机器学习实战) | ApacheCN(apache中文网) 视频每周更新:如果你觉得有价值,请帮忙点 Star[后续组织学习活动:sklearn + tensorflow] ApacheCN - 学习机器学习群[629470233] 第一部分 分类 1.) 机器学习基础 2.) k-近邻算法 3.) 决策树 4.) 基于概率论的分类方法:朴素

[Machine Learning] 国外程序员整理的机器学习资源大全

本文汇编了一些机器学习领域的框架.库以及软件(按编程语言排序). 1. C++ 1.1 计算机视觉 CCV —基于C语言/提供缓存/核心的机器视觉库,新颖的机器视觉库 OpenCV—它提供C++, C, Python, Java 以及 MATLAB接口,并支持Windows, Linux, Android and Mac OS操作系统. 1.2 机器学习 MLPack DLib ecogg shark 2. Closure Closure Toolbox—Clojure语言库与工具的分类目录 3

Python3《机器学习实战》学习笔记

运行平台: Windows Python版本: Python3.x IDE: Sublime text3 一 简单k-近邻算法 1 k-近邻法简介 2 距离度量 3 Python3代码实现 31 准备数据集 32 k-近邻算法 33 整体代码 二 k-近邻算法实战之约会网站配对效果判定 1 实战背景 2 准备数据数据解析 3 分析数据数据可视化 4 准备数据数据归一化 5 测试算法验证分类器 6 使用算法构建完整可用系统 三 k-近邻算法实战之sklearn手写数字识别 1 实战背景 2 Skl