| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 机器学习笔记01_机器学习基本概念(上) -> 正文阅读 |
|
[人工智能]机器学习笔记01_机器学习基本概念(上) |
学习视频:[中英字幕]吴恩达机器学习系列课程 文章目录1. 引言1. 监督学习Supervised Learning监督学习指的就是我们给算法一个数据集。这个数据集由“正确答案”组成。在房价的例子中,我们给了一系列房子的数据,我们给定数据集中每个样本的正确价格,即它们实际的售价然后运用学习算法,算出更多的正确答案。(回归Regression问题)
2. 无监督学习Unsupervised Learning上一个数据集中每条数据都已经标明是良性或恶性肿瘤。所以,对于监督学习里的每条数据,我们已经清楚地知道,训练集对应的正确答案,是良性或恶性了。 而在无监督学习中,我们已知的数据,不同于监督学习的数据的样子,即无监督学习中没有任何的标签。 针对数据集,无监督学习就能判断出数据有两个不同的聚集簇。这是一个,那是另一个。无监督学习算法可能会把这些数据分成两个不同的簇。所以叫做聚类(Clustering)算法。 2. 单变量线性回归 Linear Regression with One Variable2.1 模型展示线性回归算法:很好理解,根据已有的数据集来进行线性拟合,在给出一个x的值来预测y。 典型的监督学习实例,我们将训练集的数据输入到学习算法中,学习算法会拟合出一个函数?。? 代表 hypothesis(假设),因此 ? 根据输入的 𝑥值来得出 𝑦 值,𝑦 值对应房子的价格 因此,? 是一个从𝑥到 𝑦 的函数映射。 可以写成: ?𝜃(𝑥) = 𝜃0 + 𝜃1𝑥, 2.2 代价函数 Cost Function函数构建出来了,那么是怎么确定参数 𝜃0 和 𝜃1的呢?
MAE 为绝对平均误差,可以反映出模型的准确性,MSE为均方误差,可以反映出模型的鲁棒性。 2.3 代价函数的直观理解假设 𝜃0 为0,每一个 𝜃1对应了一个取值, 𝜃1=0时,损失J(0)=(1^2 + 2^2 + 3^2)/6。依次作点可得到右图,于是我们选择代价函数最低的值作为 𝜃1 和最优值。 当然,我们真正需要的是一种有效的算法,能够自动地找出这些使代价函数 𝐽 取最小值的参数 𝜃0 和 𝜃1 来。 2.4 梯度下降 Gradient Descent梯度下降是一个用来求函数最小值的算法,我们将使用梯度下降算法来求出代价函数 𝐽(𝜃0, 𝜃1) 的最小值。 梯度下降背后的思想是:开始时我们随机选择一个参数的组合(𝜃0, 𝜃1, . . . . . . , 𝜃𝑛),计算代价函数,然后我们寻找下一个能让代价函数值下降最多的参数组合。 学习率的设置要求很高,设置过低的话,需要很久才能达到全局最优点;设置过高的话,容易震荡达不到最优解。 而当你设置完成学习率后,就不需要再改动了。后一项的偏导会随着斜率的降低而减小,直到达到最优解时减小为0。 值得指出的是,梯度下降并未穷尽组合,因而无法确定是局部最优还是全局最优。如下图: 2.5 梯度下降的线性回归将上述两种方法合在一起,简单的求偏导。 3. 多变量线性回归 Linear Regression with Multiple Variables3.1 多维特征 Multiple Features映衬上面所说的,我们将特征的类别增多,就构建了一个多变量的模型。 4.2 多变量梯度下降 Gradient Descent for Multiple Variables不过是未知变量变多了而已。 4.3 特征缩放 Feature Scaling和学习率 Learning Rate以房价问题为例,假设我们使用两个特征,房屋的尺寸和房间的数量,尺寸的值为 0-2000 平方英尺,而房间数量的值则是 0-5,以两个参数分别为横纵坐标,绘制代价函数的等高线图能,看出图像会显得很扁,梯度下降算法需要非常多次的迭代才能收敛。 解决的方法是尝试将所有特征的尺度都尽量缩放到-1 到 1 之间。 如右图。 4.4 特征和多项式回归 Polynomial Regression举了两个例子
注:如果我们采用多项式回归模型,在运行梯度下降算法前,一定要进行特征缩放。 5. 逻辑回归 Logistic Regression5.1 分类Classification
综上,线性回归并不是解决分类问题的好方法。 5.2 假说表示只看粉紫色的线: 根据线性回归模型我们只能预测连续的值,然而对于分类问题,我们需要输出 0 或 1。于是规定如下: 但当我们引入一个极端数据后,回归线变成了蓝色的: 此时在使用0.5作为阈值来预测肿瘤是良性还是恶性便不合适了。因该调小一点。 我们引入一个新的模型,逻辑回归,该模型的输出变量范围始终在 0 和 1 之间。 逻辑回归模型的假设是: ?𝜃(𝑥) = 𝑔(𝜃𝑇𝑋) 其中: 𝑋 代表特征向量。𝑔 代表逻辑函数,(logistic function)是一个常用的逻辑函数为 S 形函数(Sigmoid function),公式为:
?𝜃(𝑥)的作用是,对于给定的输入变量,根据选择的参数计算输出变量=1 的可能性(estimated probablity),即 ?𝜃(𝑥) = 𝑃(𝑦 = 1|𝑥; 𝜃)
5.3 判定边界 Decision Boundary在逻辑回归中,我们预测:
生成的决策边界就是上图的分隔线。 5.4 代价函数 CostFunction根据线性回归的确定最优参数的方法,我们也同样希望梯度下降法可以用来求解该函数的参数最优解。
5.5 简化CF和梯度下降找出一种稍微简单一点的方法来写代价函数: 如果有n个特征,则𝜃为一个1*n的列向量,并且同时更新所有𝜃的值。
5.6 多类别分类:一对多 Multiclass Classification_ One-vs-all我们先从用三角形代表的类别 1 开始,实际上我们可以创建一个,新的"伪"训练集,类型 2 和类型 3 定为负类,类型 1 设定为正类,我们创建一个新的训练集,如下图所示的那样,我们要拟合出一个合适的分类器
6. 正则化 Regularization6.1 过拟合 Overfitting
6.2 代价函数 CostFunction上面的回归问题中如果我们的模型是: 因为高次项产生了过拟合的产生,所以在一定程度上限制𝜃3,𝜃4,可以修改代价函数,对高次项系数设置一点惩罚。 6.3 正则化的线性回归 Regularized Linear Regression6.4 正则化的逻辑回归 Regularized Logistic Regression
可以看出,正则化线性回归的梯度下降算法的变化在于,每次都在原有算法更新规则的基础上令𝜃值减少了一个额外的值。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 15:49:30- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |