第二课 机器学习导论

      机器学习是AI的一个研究分支,有别于专家系统等基于规则的老式AI。

      机器学习分为传统基于统计学算法的机器学习和基于神经网络的深度学习,传统的机器学习算法基本已经没有优化的空间,几十年前到现在基本没变过,但由于其对数学要求比较高,一般需要博士生来研究优化机器学习算法,而深度学习正处于探索发展的阶段,也是可参与度和可创新性最高的研究领域,但其对数学的要求并不太高,只需了解矩阵计算即可,一般深度学习领域由硕士生来研究探索。

      下面通过一些维度,简要阐述下机器学习。

1、 机器学习所需要的数学基础

1)《高等数学》

     需要掌握的知识点包括微分(导数)、积分,其中微分是理解梯度下降法的关键基础。

2)《线性代数》

     需要掌握向量、矩阵加减乘运算,另外需对SVD(矩阵奇异值分解)的应用有所了解。

3)《概率论与数理统计》

     概率是人工智能最重要的数学基础,可以说人工智能里的一切皆为计算概率而生,需掌握概率的常见分布,比如:均匀分布、正态分布,以及概率密度函数、大数定律和中心极限定理,参数估计等。

4)《信息论》

     需了解香农提出的熵理论及其计算方法。

2、机器学习中的任务类型

       机器学习中的任务有两类:分类和回归。

1)分类任务

     对应数据集的标签表示的是离散数据类型,图像分类、物体检测、图像分割、语音识别等任务就是分类任务。

2)回归任务

     对应数据集的标签表示的是连续数据类型,比如预测房价、年龄就是回归任务。

3、机器学习采用的编程语言

    可以使用任何语言,但AI圈子里主流的编程语言采用的是python,其提供的支持库也较为完善。

4、机器学习三剑客

1) Numpy

       Numpy是一个高性能科学计算库,提供了大型矩阵的计算方式,其底层采用C++编写,因此运行效率非常高效。

       Numpy是机器学习和深度学习中底层最重要的支持库,后面的机器学习框架SkLearn,深度学习框架Pytorch、TensorFlow等,都是基于Numpy的封装,可以说是铁打的Numpy,流水的上层框架。

       下面是使用Numpy编程的一个例子:

 

2) Pandas

       主要用于读写关系表,操作起来比较方便,可根据列名或行名来操作某列或某行,一般在金融领域使用比较多。

3) Matplotlib

       是一种数据可视化工具,用于观察数据特征、分布、噪声点、算法执行效果等。

 

图2 Matplotlib的使用示例

5、机器学习框架SkLearn

       SkLearn是机器学习框架中的王者,凭借其良好的封装、易用性和运行性能,几乎干掉了一切其他机器学习框架。

       SkLearn共包含分类、回归、聚类、降维、模型选择和预处理六大模块,其提供了常见的机器学习算法,比如:KNN(最近邻)、朴素贝叶丝、决策树、随机森林、支持向量机等,此外还提供鸢尾花、波士顿房价预测、乳腺癌预测等小数据集。

 

图3 SkLearn六大模块

 

关注更多安卓开发、AI技术、股票分析技术及个股诊断等理财、生活分享等资讯信息,请关注本人公众号(木圭龙的知识小屋)
posted @ 2023-05-29 16:50  tgltt  阅读(69)  评论(0编辑  收藏  举报