机器学习一脸懵笔记【03】一些常识摘录

像一个优秀的工程师一样使用机器学习,而不要像一个机器学习专家一样使用机器学习方法。——Google
Alt

三条较重要的学习原则

1.创建半正式的工作产品

以博客、技术报告、代码存储的形式记录下学习和发现的内容,快速地为自己和他人提供一系列可展示的技能、知识和反思!

2.实时学习

在开始进入机器学习领域之前,不需要花太多时间在学习足够的概率、线性代数、统计等知识,而是要在平时进行实时学习,积累知识。

3.掌握是理想——(理念)

掌握机器学习需要持续不断的学习。也许你永远不可能实现掌握机器学习的目标,只能持续不断地学习和改进所掌握的知识。

学习ML的技巧

  1. 启动一个可以在一个小时内完成的小项目;
  2. 通过每周完成一个项目来保持学习势头,并建立自己的项目工作区;
  3. 在社交工具上分享自己的成果,或者随时随地地展示自己的兴趣,增加技能、知识,并获得反馈。

From Baidu百科的概念

  1. 机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析等。它专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径。
  2. 机器学习是人工智能及模式识别领域的共同研究热点!机器学习不仅在基于知识的系统中得到应用,而且在自然语言理解、非单调推理、机器视觉、模式识别等许多领域也得到了广泛应用。
  3. 机器学习的研究主要分为两类研究方向:第一类是传统机器学习的研究(研究方向主要包括决策树、随机森林、人工神经网络、贝叶斯学习等),该类研究主要是研究学习机制,注重探索模拟人的学习机制;第二类是大数据环境下机器学习的研究,该类研究主要是研究如何有效利用信息,注重从巨量数据中获取隐藏的、有效的、可理解的知识。
  4. 基于学习策略的分类
    (1) 模拟人脑的机器学习:
    ①符号学习:利用心理学&符号;
    ②神经网络学习(或连接学习):模拟人脑的微观生理级学习过程,以脑和神经科学原理为基础,以人工神经网络为函数结构模型,以数值数据为输人,以数值运算为方法,用迭代过程在系数向量空间中搜索,学习的目标为函数。
    (2) 直接采用数学方法的机器学习:
    统计机器学习是基于对数据的初步认识以及学习目的的分析,选择合适的数学模型,拟定超参数,并输入样本数据,依据一定的策略,运用合适的学习算法对模型进行训练,最后运用训练好的模型对数据进行分析预测。
  5. 基于学习方式的分类
    (1) 监督学习(有导师学习):输入数据中有导师信号,以概率函数、代数函数或人工神经网络为基函数模型,采用迭代计算方法,学习结果为函数。
    (2) 无监督学习(无导师学习):输入数据中无导师信号,采用聚类方法,学习结果为类别。典型的无导师学习有发现学习、聚类、竞争学习等。
    (3) 强化学习:以环境反惯(奖/惩信号)作为输入,以统计和动态规划技术为指导的一种学习方法。
  6. 常见算法列举 #上度娘看各算法简述
    ①决策树算法
    ②朴素贝叶斯算法
    ③支持向量机算法
    ④随机森林算法
    ⑤人工神经网络算法
    ⑥Boosting与Bagging算法
    ⑦关联规则算法
    ⑧EM(期望最大化)算法
  7. Deep Learning (DL)
    7.1—深度学习(DL, Deep Learning)是机器学习(ML, Machine Learning)领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目标——人工智能(AI, Artificial Intelligence)。
    7.2—深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。 深度学习是一个复杂的机器学习算法,在语音和图像识别方面取得的效果,远远超过先前相关技术。
    7.3—深度学习在数据挖掘、机器学习、机器翻译、自然语言处理、多媒体学习、语音、推荐和个性化技术,以及其他相关领域都取得了很多成果。深度学习使机器模仿视听和思考等人类的活动,解决了很多复杂的模式识别难题,使得人工智能相关技术取得了很大进步。
  8. Machine Learning的强大应用
    Siri等语音助手 ; GPS导航服务的交通预测 ; 识别过滤垃圾邮件&恶意软件 etc.

入门建议

  1. 不要试图掌握所有的相关数学知识再开始学习
    一般来说,大部分机器学习课程都要求:(下表)
    这些知识是工具不是目的,我们的目标不是成为优化大师。建议在机器学习的过程中哪里不会补哪里!

线性代数:矩阵/张量乘法、求逆,奇异值分解/特征值分解,行列式,范数等
统计与概率:概率分布,独立性与贝叶斯,最大似然(MLE)和最大后验估计(MAP)等
优化:线性优化,非线性优化(凸优化/非凸优化)以及其衍生的求解方法如梯度下降、牛顿法、基因算法和模拟退火等
微积分:偏微分,链式法则,矩阵求导等
信息论、数值理论等

  1. 不要收集过多的资料 & 分辨资料的时效性——拒绝“收集癖”
    机器学习的发展和变化速度很快!在入门期间,建议“小而精”的选择资料,选择近5年内出版的且口碑良好的书籍。
  2. 语言能力
    学好英语,至少打下阅读和听力的基础。虽然人工智能领域中国现在已经做得很不错,但主流的书籍、期刊和会议,资料都是英文的。我们可以接受翻译版,但最好的方法还是自己有能力直接阅读。

将“ 最佳品种 ”工具映射到您的过程中

机器学习工具和库来来去去,但是在任何时候,您都必须使用最能映射到您选择的交付结果过程的工具。每个人都有不同的想法。
杰森·布朗利对不同类型的工作使用不同的工具和平台——

一次性预测模型
Weka平台,因为我无需编程即可立即加载CSV,设计实验并立即获得最佳模型(请参阅我在过程上的映射)。//像Weka这样的工具可以轻松地设计机器学习实验和构建模型,而无需任何编程。
嵌入式预测模型
具有scikit-learn的 Python ,因为我可以使用与部署模型相同的语言来开发模型。IPython是向更广泛的团队展示您的渠道和结果的好方法。MLaaS也是更大数据的一种选择。
深入模型
R带有caret软件包,因为我可以快速,自动地尝试许多最新模型,并使用整个R平台设计越来越复杂的特征选择,特征工程和算法调整实验。

如何区分三种模型呢?

  1. 一次性模型
    例如:你的老板对你说:“嘿,你知道机器学习吧?您能否使用去年的客户数据来预测我们销售渠道中的哪些当前客户可能会转换?我想在下周向董事会的演示中使用它…”
  2. 嵌入式模型
    典型例子:您正在从某软件项目的利益相关者那里收集需求。你要求用户能够在软件中徒手绘制形状;并要求软件弄清楚它是哪种形状,然后将其转换为清晰明确的版本并适当地标记它。您很快就会发现解决此问题的最佳方法(也是唯一可行的方法)是设计和训练预测模型并将其嵌入软件产品中。
    在这种情况下,关键在于您有丰富的经验,可以注意到使用预测模型可以最好地解决问题,以及拥有设计、培训和部署该模型的技能。
  3. 深入模型
    您已经开始了一项新工作,并且您正在使用的系统至少由一个预测模型组成。维护和向该系统添加功能需要了解模型,其输入和输出。模型的准确性是软件产品的功能,您的部分工作将是对其进行改进。例如,作为常规的预发布系统测试的一部分,您必须证明模型的准确性(在对历史数据进行验证时)具有与先前版本相同或更好的技能。

Python的强大之处

被成为"胶水语言",能够轻松地把用其他语言制作的各种模块(尤其是C/C++)联结在一起。常见的情形是:先使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分用更合适的语言改写。
例如:3D游戏对图形渲染模块的性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。目前,在Python生态圈中存在大量的第三方扩展类库,可以借助这些类库轻松实现项目需求

————————————————————————————————————
2020.01.30 第二次修改

发布了9 篇原创文章 · 获赞 6 · 访问量 2116

猜你喜欢

转载自blog.csdn.net/RickieLim/article/details/104090249
今日推荐