机器学习算法入门与编程实践(基于Python·微课视频版)

唐四薪 等
前言 随着人工智能技术的兴起,机器学习在各行各业的应用越来越广。工信部印发的《促进新一代人工智能产业发展三年行动计划(2018—2020年)》中指出:当前,新一轮科技革命和产业变革正在萌发,大数据的形成、理论算法的革新、计算能力的提升及网络设施的演进驱动人工智能发展进入新阶段,智能化成为技术和产业发展的重要方向。人工智能具有显著的溢出效应,将进一步带动其他技术的进步,推动战略性新兴产业总体突破,正在成为推进供给侧结构性改革的新动能、振兴实体经济的新机遇、建设制造强国和网络强国的新引擎。 对于初学者而言,机器学习是一门难度较大的学科,其难点大致体现在以下三个方面: 首先,机器学习的大部分算法复杂难懂,这些算法对于初学者来说结构复杂,概念抽象,特别是一些大型机器学习模型(如人工神经网络),很难将模型的所有细节一一呈现,学习难度较大,学习门槛较高。因此学术界认为,随着模型越来越复杂,机器学习模型的可解释性(Interpretability)也会越来越差。例如,很多深度神经网络模型人类已无法完全理解,需要读者从黑盒的层面进行理解。 其次,用机器学习方法解决某个实际应用的过程是烦琐且枯燥的。如收集数据、特征提取、数据标准化和数据降维等,这些数据预处理工作都很烦琐且耗时,初学者如果对机器学习理解得不透彻,就很难坚持下去。 再次,模型的选择、训练和评估需要考虑影响实际问题的各种因素,并要调整参数,避免欠拟合和过拟合,这使得整个操作过程非常复杂。如果初学者对涉及的理论和方法掌握不到位,理解不透彻,就很容易出现问题,导致得到的机器学习模型性能太差而无法使用。 目前市面上有很多机器学习类图书,这些图书根据侧重点不同大致可以分为两类:第一类以讲解机器学习的算法理论为主,而对机器学习的编程实现讲述较少;第二类以讲解机器学习编程为主,而对机器学习的算法理论讲述较少。由于机器学习模型比较复杂,读者如…