小O学习笔记-9讲入门机器学习(一)

前言

毕业论文交稿后,开始投入精力到Fake卫星影像(基于GAN的)识别的研究中去,同时导师要求我了解GAN。曾经接触机器学习的时候,看看书调调函数,难以深入其中。希望有课程能带着我手撕机器学习的原理,从底层写代码,并运用在项目中。在网易云课堂上找到了一个看起来还比较靠谱的课程——《9讲入门机器学习》,希望能在不太常的时间里见成效,从而平缓过渡到深度学习,过渡到GAN。

章节一 机器学习导论

课时1 机器学习的发展历程与基本概念

  1. 连接主义->符号主义->统计学习->机器学习->深度学习
  2. 机器学习在12年左右火起来的一个重要原因是算力充足
  3. 统计学习的核心的是利用恰当的概率统计模型进行预测和分析;机器学习是通过机器对数据的学习,改善系统的自身性能;深度学习是机器学习的加强版本,本质上是多隐含层神经网络。

课时2 机器学习主要流程

上课的时候用了一张和讲师自身理解有微量差异的图。
总体上看可以归纳为:
原始数据->预处理->特征工程->结构化数据->多种模型算法->优模型和算法->Deploy

课时3 机器学习的主要任务和核心要义

任务:通过数据学习,得到一个参数得到优化的数据模型;
学习对象:数据,包括结构化数据、文本、语音、视频、图像等
学习过程:依据给定判断标准,依据算法(不同的学习策略)不断迭代调整参数;
黄金标准:能最大拟合训练集,且具备最好的泛化能力

机器学习的核心要义是通过“数据采集”、“特征工程”、“算法调优”与欠拟合、过拟合(更重要)问题做斗争。

课时4 模型与算法

模型是一类问题的通用解决方案,算法是具体计算的思路和步骤。神经网络被认为是一种模型,而其内部的参数更新、学习函数则被认为是算法。

课时5 机器学习模型一览

给出了sklearn的算法选择路径图,我找到的中文版为:
sklearn算法图-中文
总体上算法分为分类、回归、聚类、降维4类。我们在实践中更加关注分类和回归问题。另外老师讲的一个经历让我印象比较深刻:某项目有4000+样本,5000+属性;通过机器学习降维,把属性降低到了几百个。虽然依然存在过拟合问题,但相对于原来已经好的多了。

课时6 开发环境准备与课程安排

这套课程使用的开发环境是Anaconda/Jupyter/Pycharm
我之前常用的是Pycharm,用pip安装包。直到使用OSMnx时,才接触到Anaconda,在使用上也就是把python环境设为Anaconda。Jupyter Notebook是一直听说过但是没用过。

“事实上Anaconda和Jupyter Notebook已成为数据分析的标准环境”——知乎-猴子

Anaconda是开源的Python包管理器,内含Conda/Python和包括numpy、pandas在内的一系列预装包。使用Anaconda的主要原因在于方便快捷且能够在不同Python开发环境中快速切换(如Python2、Python3)。

Jupyter Notebook是一种Web应用,能让用户将说明文本、数学方程、代码和可视化内容全部组合到一个易于共享的文档中。

装Anaconda时,自带了Jupyter Notebook,在Anaconda Navigator中可以直接Launch。目前而言,对Jupyter还不太属性,不过应该会很快上手。后续我看了两个用到的帖子:
如何用Jupyter Notebook;
如何修改Jupyter Notebook的工作路径(第一个方法对我管用)。

你可能感兴趣的:(python)