同学们,祝贺大家终于学完了这最为基础的一课。万事开头难,本课中理论的东西有点多,目前大家理解起来应该是挺辛苦的。因为基于长期实践总结出来的东西,对于没有上过手的人来说,难免学起来是一头雾水。这是正常的现象。也许上完全部课程后,回过头来复习,你们会有更多的感悟。
下面是本课中的重点内容。
(1)首先是机器学习的内涵:机器学习的关键内涵在于从大量的数据中发现一个“模型”,并通过它来模拟现实世界事物间的关系,从而实现预测或判断的功能。
■从这个定义出发,机器学习可以分为监督学习、无监督学习、半监督学习,以及深度学习、强化学习等类型。这些学习类型之间的界限是比较模糊的,彼此之间有交集,也可以相互组合。比如,深度学习和强化学习技术同时运用,可以形成深度强化学习模型。
■我们也给出了最基本的机器学习术语,如特征、标签和模型等。
(2)通过在线的Jupyter Notebook,可以方便快捷地进行机器学习实战。Colab和Kaggle,是两个提供免费Jupyter Notebook的平台,可以在其中通过Python编写机器学习源代码。
机器学习是一个有很强共享精神的领域,不仅免费在线开发工具多,无论是数据集、算法,还是库函数和框架方面,都有很多开源的项目可供选择。
■Scikit-learn是重点介绍的机器学习算法库。
■Keras是重点介绍的深度学习算法库。
(3)最后给出了机器学习项目实战流程中的5个环节,指导我们进行实战,具体包括问题定义、数据的收集和预处理、选择机器学习模型、训练机器,确定参数、超参数调试和性能优化,如下图所示。
不断优化,找到最佳模型
总而言之,机器学习实战的各个环节就像机器学习模型训练一样,是一个反复迭代的过程。只有不断优化,才能找到最完善的模型、达到最佳状态,这也是符合敏捷(agile)和Dev Ops那种快捷的、迭代式IT产品开发原则的。其秘密就是:迅速拿出一个可用产品的雏形,然后持续完善它。嗯,跑题了,下课吧。不过,别忘记完成课后的练习哦。