十五、三个公式搭建最简单的AI框架
什么是AI?AI的本质就是从大数据中学习。
![](https://img.haomeiwen.com/i7792042/9a7f4d8410302b95.png)
举个例题
我们可以用excel表进行散点拟合,也可以使用之前的梯度下降法来计算。
![](https://img.haomeiwen.com/i7792042/bbc5b208d9bc3878.png)
人工智能就是根据输入的数据建立一个效果最好的模型
![](https://img.haomeiwen.com/i7792042/a7cf2c6aabfb3fb5.png)
人工智能建立模型的步骤
![](https://img.haomeiwen.com/i7792042/6a81122f5146fe2b.png)
本题做了一个假设,那就是父子之间身高关系是线性的,影响的参数是k和b,那么这道题的omega就是k和b组成的向量。当然在别的模型里,它也可以是个标量
![](https://img.haomeiwen.com/i7792042/f67b3febaf649e53.png)
人工智能的目标
![](https://img.haomeiwen.com/i7792042/8bbc66ac493de418.png)
这里只有w是未知的,我们就是要求L(w)的最小值,这就是个求极值的问题
![](https://img.haomeiwen.com/i7792042/61171682174d4423.png)
构建AI模型的三步
![](https://img.haomeiwen.com/i7792042/5b65b8f6a30a1b80.png)
三个步骤的调整
不管每一步采用什么方法,这三个步骤是不会变的。
现在让我们从AI的角度重新回顾一下线性回归模型:
![](https://img.haomeiwen.com/i7792042/63798a26f46c427f.png)
截屏2023-11-21 12.40.02.png
![](https://img.haomeiwen.com/i7792042/e2787742a90a1380.png)
截屏2023-11-21 12.41.17.png
![](https://img.haomeiwen.com/i7792042/e57b7cab356f8897.png)
截屏2023-11-21 12.42.47.png
![](https://img.haomeiwen.com/i7792042/e473a2045087f449.png)
第三部这里我们使用求导法
在此,我们可以理解为,线性回归就是一种最简单的人工智能模型。
![](https://img.haomeiwen.com/i7792042/2daa530dcfa42fc4.png)
小结
![](https://img.haomeiwen.com/i7792042/54299159906b29fb.png)
作业
十六、逻辑回归,通过计算机做出二值化决策
![](https://img.haomeiwen.com/i7792042/b44d0798129cb385.png)
逻辑回归模型是AI中最基础的模型
逻辑回归模型常用于用户的信贷模型、几率识别等等。
![](https://img.haomeiwen.com/i7792042/48f8268935574d51.png)
逻辑回归是一种分类模型,可以解决分类问题
![](https://img.haomeiwen.com/i7792042/18b61d8d183967cd.png)
预测胎儿性别,预测足球比赛结果等问题都是分类问题
![](https://img.haomeiwen.com/i7792042/f875581f070d45b7.png)
根据归属类别的数量,分类问题可以分为二分类问题和多分类问题
多分类问题可以转化为多个二分类问题,因此二分类问题是基础。
![](https://img.haomeiwen.com/i7792042/f74c781aabb31aff.png)
逻辑回归的建模流程
![](https://img.haomeiwen.com/i7792042/990ae4c447a8ecda.png)
第一步,我们使用的输出关系函数为sigmoid函数
![](https://img.haomeiwen.com/i7792042/83cbfbf8c2477560.png)
使用sigmoid函数通过x得出预测值y的流程图
![](https://img.haomeiwen.com/i7792042/dfdd5e8cfc9949d8.png)
sigmoid函数简介
![](https://img.haomeiwen.com/i7792042/61de19033d01827d.png)
sigmoid函数的一阶导数
![](https://img.haomeiwen.com/i7792042/739412a1a6268d5f.png)
第二步,写出逻辑回归的损失函数
![](https://img.haomeiwen.com/i7792042/55410803c17e3359.png)
截屏2023-11-27 12.40.50.png
![](https://img.haomeiwen.com/i7792042/25ed5786e6deabb5.png)
将上面两个式子用一个式子表示
![](https://img.haomeiwen.com/i7792042/9bd51639e564a05d.png)
截屏2023-11-27 20.22.56.png
![](https://img.haomeiwen.com/i7792042/8e335f2007648fc7.png)
第三步,估计出参数的值
所以以上第二、三步的本质就是对损失函数求解极大值。
![](https://img.haomeiwen.com/i7792042/ca11b76df30a1834.png)
我们使用梯度下降法来求极值,先计算出模型函数关于W的导数
![](https://img.haomeiwen.com/i7792042/716a2a819af79e4c.png)
再来计算损失函数的导数
然后使用梯度下降法来计算。
值得注意的是,这个函数式在使用传统的梯度下降法来计算时,会产生大量的求和计算,非常消耗资源。
为了解决这个问题,我们改进为随机梯度下降法。
![](https://img.haomeiwen.com/i7792042/734308c92fa2daf0.png)
使用随机梯度下降法
接下来我们实现代码。
现有以下两个数据集:
![](https://img.haomeiwen.com/i7792042/87d64bb3542038fb.png)
第一个数据集
![](https://img.haomeiwen.com/i7792042/be4007b43ca71a87.png)
第二个数据集
代码如下:
![](https://img.haomeiwen.com/i7792042/2316dcdc08bac00b.png)
截屏2023-11-27 21.43.03.png
![](https://img.haomeiwen.com/i7792042/48ec6c28bacb63ad.png)
截屏2023-11-27 21.49.50.png
![](https://img.haomeiwen.com/i7792042/96169e1fe6e884df.png)
对数据集1的第四个特征预测结果
![](https://img.haomeiwen.com/i7792042/e27ddb11e687893b.png)
对数据集2的第四个特征的预测结果
我们发现对第2个数据集的预测结果马马虎虎,首先是第一个样本的第四特征预测错误,其次计算出来的预测值都在0.5附近,不够明显。为什么不通同的两个数据集会出现如此差异呢?
原因就是这个模型是个线性模型。
![](https://img.haomeiwen.com/i7792042/84bd4caa0fa3b65b.png)
如图所示的直线,无论怎么平移,都无法将黄色和蓝色完全分割开来
线性回归和逻辑回归有什么区别呢?
![](https://img.haomeiwen.com/i7792042/3ce5a9050725a233.png)
从名字上比较
线性归回是一个回归模型,它是要用一条线尽可能地将所有样本点串起来。
而逻辑回归虽然有回归两个字,但它不是回归模型,而是分类模型,是要用一条线尽可能的把几个样本点给分开。
![](https://img.haomeiwen.com/i7792042/edbf39acc1b73bac.png)
从表达式上比较
![](https://img.haomeiwen.com/i7792042/42675dcc6556fc3a.png)
从数学函数式的机理来看
![](https://img.haomeiwen.com/i7792042/c4e4d67a14416e7d.png)
总结:逻辑回归里的三个重要的表达式
![](https://img.haomeiwen.com/i7792042/b7809634c14cda2f.png)
课后作业
十七、决策树模型——如何对NP难问题进行启发式求解
![](https://img.haomeiwen.com/i7792042/9040b48d47aca332.png)
决策树模型可以做什么
![](https://img.haomeiwen.com/i7792042/3238432e93bb45ac.png)
决策树模型的结构和特点
![](https://img.haomeiwen.com/i7792042/30aba1cf0d7ffe7d.png)
使用决策树预测的简单例子
![](https://img.haomeiwen.com/i7792042/dfe858bff0292a58.png)
什么是NP难问题
![](https://img.haomeiwen.com/i7792042/f5a11d6ddeff08a8.png)
NP难问题举例
![](https://img.haomeiwen.com/i7792042/24b72ade0dfc6da4.png)
解决NP难问题的思路
![](https://img.haomeiwen.com/i7792042/22e71a3a6b7b169a.png)
如何解决NP难问题
ID3和C4.5都是使用启发式算法。
![](https://img.haomeiwen.com/i7792042/7509125745377312.png)
我们以ID3算法为例探讨一下决策树如何建模
![](https://img.haomeiwen.com/i7792042/edeb40dce20f0b4c.png)
ID3决策树建模步骤
![](https://img.haomeiwen.com/i7792042/e1ac4e5daeeb1dab.png)
ID3决策树的两个递归终止条件
![](https://img.haomeiwen.com/i7792042/a47ec7f4cb9ffb64.png)
例题1:根据图中数据集建立ID3决策树
![](https://img.haomeiwen.com/i7792042/bf63c041aa585329.png)
第一步
![](https://img.haomeiwen.com/i7792042/5c9baadc1a626390.png)
第二步计算第一个变量的信息增益
![](https://img.haomeiwen.com/i7792042/1d0f51c660407d5d.png)
第二步计算第二、三个变量的信息增益
![](https://img.haomeiwen.com/i7792042/86f61653e3e5ed26.png)
第三步变量分裂
![](https://img.haomeiwen.com/i7792042/977b956db17a4f7d.png)
截屏2023-12-11 20.28.33.png
![](https://img.haomeiwen.com/i7792042/f2c7b5547549bbbf.png)
截屏2023-12-11 20.29.12.png
![](https://img.haomeiwen.com/i7792042/0729e6cc7da430aa.png)
最终采用如图所示的决策树
![](https://img.haomeiwen.com/i7792042/4eb82d526f8638f7.png)
截屏2023-12-11 20.32.30.png
![](https://img.haomeiwen.com/i7792042/5173af2a31a64e61.png)
例题2:根据图中数据集建立ID3决策树
![](https://img.haomeiwen.com/i7792042/a24bae335f8df58f.png)
第一步,计算信息熵
![](https://img.haomeiwen.com/i7792042/66083687db4ef823.png)
第二步,计算三个特征的信息增益
![](https://img.haomeiwen.com/i7792042/39db37100d5bae36.png)
第三步,本题只好随机选择特征进行建模
![](https://img.haomeiwen.com/i7792042/a87a033ed489d86e.png)
截屏2023-12-11 20.42.08.png
![](https://img.haomeiwen.com/i7792042/992eb941ac4717b0.png)
截屏2023-12-11 20.42.46.png
对于像ID3这种成型的算法而言,已经有了很多被封装好的工具包,比如sklearn,可以直接调用。
![](https://img.haomeiwen.com/i7792042/992357133451a890.png)
ID3这类决策树模型建模代码的伪代码
这类代码的结构一定是递归结构。
![](https://img.haomeiwen.com/i7792042/72d1c2014d90f367.png)
决策树模型的优势
![](https://img.haomeiwen.com/i7792042/2ca6f81fe3b8d15a.png)
决策树模型的不足
![](https://img.haomeiwen.com/i7792042/6a565c4baf59fbc4.png)
决策树和深度学习相比,是一种浅层模型
![](https://img.haomeiwen.com/i7792042/901cf1bb20b991df.png)
课后作业
网友评论