1、什么是机器学习?

机器学习的概念:

  • 传统上如果我们想让计算机工作,我们给它一串指令,然后它遵照这个指令一步步执行下去。有因有果,非常明确。这样的方式计算机是无法执行固定流程之外的东西的
  • 但是现实生活中,有很多无法被量化的东西,比如约会的时候要不要提前到,西瓜是否好吃,要不要录用一个人,人类在做事情的时候,解决问题的时候,大多数是懂得变通,不会那么死板的
  • 那么一个人是如何实现变通的呢?答案就是学习。维基百科对学习的定义是:学习是通过外界教授或从自身经验提高能力的过程。 所以人在解决问题的过程中,会使用已有的经验 ,以及通过经验得到的某种规律 ,并用此来预测可能会发生的事情 ,以做出相应调整
  • 那么机器学习就是,给机器经验(数据),通过某种算法(学习),让机器得到对应的规律,来完成一些相对具有变通性的无法确定描述的任务(手写字体识别,广告推荐,区分猫狗)

机器学习、人工智能、深度学习的关系:
——人工智能包含机器学习,机器学习包含深度学习。

  • 机器学习的定义:机器学习研究和构建的是一种特殊算法(而非某一个特定的算法),能够让计算机自己在数据中学习从而进行预测。——Arthur Samuel
  • 机器学习不是某种具体的算法,而是很多算法的统称。机器学习包含了很多种不同的算法,深度学习就是其中之一,其他方法包括支持向量机,决策树,K近邻,贝叶斯等等。
  • 深度学习的灵感来自大脑的结构,即许多神经元的互连。人工神经网络(ANN)是模拟大脑生物结构的算法。
  • 不管是机器学习还是深度学习,都属于人工智能(AI)。人工智能中还包括了自然语言处理(NLP), 计算机视觉(CV)等等多个领域。

机器学习的原理(概念):
——教小朋友区分猫猫和狗狗

  • 首先给小朋友很多猫猫和狗狗的图片(数据训练集),告诉他哪些是猫哪些是狗(数据标注)。
  • 小朋友发现猫猫长的更圆一点,小一点,,狗狗更大一点,颜色更深一点(特征集)。最后总结出了某种规律(模型),可以区别猫猫和狗狗。

2、机器学习的分类

机器学习根据训练方法一般大致可以分为3大类:

  1. 监督学习
  2. 非监督学习
  3. 强化学习

有监督学习:

  • 即存在外界知道的学习,比如看到一只动物时,家长主动告诉小朋友这是一只猫,不是一只狗,通过不断的观察和指导(提供了正确答案,即 数据标签 ),小朋友就形成了猫和狗的概念。
  • 有监督学习主要包括分类和回归 两大类。分类对应的为有限选择项的标签,比如根据身高体重年龄判断性别,根据图像选择数字。回归对应的标签为数值,比如根据年龄,学历,工作经验预测人的收入,这是一个范围的数值。
  • 数据集一般包括训练集和测试集,前者用于训练,后者用于测试。

无监督学习:

  • 无监督学习即不提供数据标签。比如小朋友很多次看到猫和狗,虽然并没有被告知是猫还是狗,但是再次看到已经能够区分他们了,这就是聚类。
  • 无监督学习只有聚类 一种。聚类在实际应用场景中一般价值更高,因为大多数天然数据并不包含聚类。
  • 半监督学习:结合了有监督学习和无监督学习,例如先通过无监督学习对数据进行聚类,再人工标注,在进行有监督学习。

增强学习:

  • 强化学习更接近生物学习的本质,因此有望获得更高的智能。它关注的是智能体如何在环境中采取一系列行为,从而获得最大的累积回报。通过强化学习,一个智能体应该知道在什么状态下应该采取什么行为。
  • 最典型的场景就是打游戏,比如Google的AlphaGo下围棋,或者自动跑FlappyBird游戏等。通过在历史数据中归纳和总结经验,在面对新状态时,尽可能使得目标函数做出最优行动。

附:
此外机器学习还有主动学习,迁移学习,集成学习等多种模式。

  • 主动学习:边学习边标注
  • 迁移学习:从一个域(Domain)迁移(Transfer)到另一个域
  • 集成学习:融合多个弱模型形成一个强的模型。

3、机器学习的流程和难点

学习的流程

  • 预处理:通过清洗数据,提高数据质量。
    数据重塑、缺失值处理(补全、统计为缺失特征)

  • 特征工程:在整个项目中占60%以上,关系到后期模型的潜力和提升空间。
    特征没做好,参数调到老。在已有的特征上生成新的特征,数值、类别

  • 特征选择、降维:筛选上面选出来的特征,保留相关性最强的特征,提高性能
    基于MIC、Pearson 相关系数、正则化方法、模型,PCA、tSNE

  • 训练模型、调参:尝试各种学习模型并比较性能,选择最优的。
    单模型,多模型融合,集成

  • 评估模型:有些模型可能能跑出训练集跑不出测试集。
    正确率(Acurracy)、准确值(Pecision)、召回值(Recall)、F 值、AUC

机器学习的两大难点:

  • 维度灾难:
    高维度的 数据量过大,特征数过多 ,导致模型过于复杂,训练和计算成本无法估计。
    但是一些模型低维度能实现很好的性能,在高维度下无法取得很好的效果。
    因此实际过程中一般更看重简单的模型,需要再性能和成本之间做出权衡。

  • 过拟合:
    过拟合指的是模型缺乏泛化能力 :即在训练集上训练的模型,能够在训练集上取得很好的性能,却无法在测试集上跑出合适的性能,
    一般来说,模型越复杂,学习能力越强,泛化能力越弱,越容易过拟合 。所以在性能相似的情况下,更青睐简单的模型。比如说身高和体重的关系,如果简单线性模型就能完成任务,那么就尽可能不要使用曲线。
    为了防止过拟合,在训练过程中,一般会使用正则化 等方法。正则化指的是,在训练过程中,认为的引入一些误差,从而避免模型过度拟合训练数据中的特征和标签之间的对应关系,而是把注意力更多的放在学习通用而泛化的关系和规律上
    过拟合往往会把人工智能训练成人工智障,比如扫地机器人不断制造垃圾再扫,比如飞机开局直接坠落,等等奇怪的模型。
    overfitting 过拟合,其实就是机器的sterotype----刻板印象 。看到一个新疆小偷,就把小偷这个属性赋予所有新疆人。三短一长选择最长的,不会蒙就c。)

4、机器学习常见模型及代码实现

机器学习的代码实现:
——使用Python的scikit-learn可以完成机器学习领域的大部分工作。

有监督的学习(分类,回归):

  • 线性回归 LR
    将每条记录表示为一个m维的向量x,m表示记录的特征向量。
    记y=kx+b, y和b为模型输出和偏置向量。训练时根据已有数据调整k和b,对于每一条记录,计算x得出对应的y,并比较y与真实记录的误差,使用梯度下降法对损失函数求导,并根据梯度下降的方向调整模型的参数。
  • Logistic回归
    在线性回归的基础上,令公式为y = logit(kx+b),其中logit函数对每个输入的向量的每一个值都进行了归一化处理,消除了原本向量x中可能存在的负数,并且让非负向量加起来为1,可以对应每个类别的输出概率。
  • 贝叶斯 NB
    选择概率最大的分类,各个分类的概率可以通过训练集统计获得。
  • K近邻 KNN
    为了确定一条记录的标签,可以找出训练记录中距离其最近的K条记录。
    如果需要分类,则选出K条记录中出现最多的分类标签。
    如果回归,则K条记录加权求和,权重和距离成反比,距离越远权重越小即可。
  • 决策树 DT
    根据训练集的数据,确定树的结构,每个非叶节点对应的判断条件和叶子节点对应的标签分类。
  • 支持向量机 SVM
    记录所在点的原始空间,通过一些可选的函数,将原空间变换到另一空间,在新空间里寻找margin 最大的分界面。

无监督的学习(聚类)

  • K-Means
    初始化中心,不断迭代,EM 算法
    将无标注的数据汇聚成K类,使得同一类记录之间特征相似,不同类差异显著。
    随机选择K个点作为初始聚类中心化,每轮迭代将记录点分配到对应的聚类中,选择最近的归类。然后根据所有的记录点的位置,修正中心点的位置。

神经网络(有监督-无监督都可)

  • 深度学习
    将神经元看做一个包含输入,处理,输出的单元。
    无数个神经元彼此连接,遵循相似的结构呈现激活或抑制,从而完成神经信号的处理和传递。

快速掌握 机器学习(Machine Learning) 常用概念术语,常用算法相关推荐

  1. 机器学习(Machine Learning)基础

    机器学习(Machine Learning)基础 概念及用途 专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能.它是人工智能的核心,是使计 ...

  2. 机器学习(Machine Learning)深度学习(Deep Learning)资料(Chapter 2)

    机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2) - tony的专栏 - 博客频道 - CSDN.NET 注:机器学习资料篇目一共 ...

  3. 机器学习(Machine Learning)深度学习(Deep Learning)资料汇总

    本文来源:https://github.com/ty4z2008/Qix/blob/master/dl.md 机器学习(Machine Learning)&深度学习(Deep Learning ...

  4. 机器学习(Machine Learning)深度学习(Deep Learning)资料【转】

    转自:机器学习(Machine Learning)&深度学习(Deep Learning)资料 <Brief History of Machine Learning> 介绍:这是一 ...

  5. 机器学习(Machine Learning)深度学习(Deep Learning)资料集合

    机器学习(Machine Learning)&深度学习(Deep Learning)资料 原文链接:https://github.com/ty4z2008/Qix/blob/master/dl ...

  6. 机器学习 Machine Learning 深度学习 Deep Learning 资料

    机器学习(Machine Learning)&深度学习(Deep Learning)资料 機器學習.深度學習方面不錯的資料,轉載. 原作:https://github.com/ty4z2008 ...

  7. (转)机器学习(Machine Learning)深度学习(Deep Learning)资料

    原文链接:https://github.com/ty4z2008/Qix/blob/master/dl.md 机器学习(Machine Learning)&深度学习(Deep Learning ...

  8. Re:从零开始的机器学习 - Machine Learning(一) 线性回归

    从我对整个职业生涯的规划出发,我不仅想做一些高质量的应用(软件工程的角度),还想做一些激动人心的应用,所以我希望能在机器学习的方向走,尽管我在大学粗浅的学了些皮毛,但如果要把机器学习作为职业发展的话这 ...

  9. 数据挖掘(data mining),机器学习(machine learning),和人工智能(AI)的区别是什么? 数据科学(data science)和商业分析(business analytics

    数据挖掘(data mining),机器学习(machine learning),和人工智能(AI)的区别是什么? 数据科学(data science)和商业分析(business analytics ...

  10. 数据挖掘(data mining),机器学习(machine learning),和人工智能(AI)的区别是什么

    数据挖掘(data mining),机器学习(machine learning),和人工智能(AI)的区别是什么? 数据科学(data science)和商业分析(business analytics ...

最新文章

  1. Spring Cloud Config采用Git存储时两种常用的配置策略
  2. 利用Python进行数据分析-07-汇总和计算描述统计
  3. oracle升级12.2,Oracle 11.2.0.4升级到12.2.0.1
  4. java第五周课后作业
  5. F28335第一篇——看门狗的开断
  6. c++ 连接webservice实例
  7. 计算机组成原理第5版第六章答案,计算机组成原理第六章答案.docx
  8. elementui二维表动态渲染
  9. (附源码)node.js物资管理系统 毕业设计 071130
  10. 如何用计算机算工资,个人工资计算器避税
  11. oracle表空间缩减操作手册
  12. NOIP原题 斗地主(20190804)
  13. 关于在onclick事件传参
  14. 《经济半小时》 20130906 指尖上的商机(五)数据时代
  15. 5分钟,关于Python 解包,你需要知道的一切
  16. 游标v_cur的%notfound
  17. 尚硅谷-互联网大厂高频重点面试题 (第2季)JUC多线程及高并发
  18. ORACLE集群管理-核心资源分析-MDNS
  19. END-USER LICENSE AGREEMENT of Atelier Juvenil Pardo APP
  20. 永磁同步电机的MTPA最大转矩电流比控制算法的仿真模型,有详细的算法设计文档

热门文章

  1. 破解数字游戏 —— 概率篇
  2. 计算机史话 —— 回车和换行 与 文本文件和二进制文件
  3. matlab rem与mod 的区别
  4. 深度学习基础(三)—— 权值矩阵的初始化
  5. 深入理解 MapReduce
  6. C 标准库—— assert.h
  7. mysql 线程id_查找MySQL线程中死锁的ID的方法
  8. 学python有前途吗-学python有前途吗?
  9. 学python语言有前途吗-在成都学Python有发展前景吗?
  10. 苹果版App开发心得