📝本文介绍
本文为作者初探机器学习,读苹果书写下的笔记。
👋作者简介:一个正在积极探索的本科生
📱联系方式:943641266(QQ)
🚪Github地址:https://github.com/sankexilianhua
🔑Gitee地址:https://gitee.com/Java_Ryson
由于本人的知识所限,如果文章有问题,欢迎大家联系并指出,博主会在第一时间修正。
文章目录
- 📕概念
- 📘分类
- 📙步骤
- 📖第一步:写函数
- 📖第二步:定义损失函数
- 📖第三步:找最优解
📕概念
机器学习:机器具备有学习的能力。具体来讲,机器学习就是让机器具备找一个函数的能力。机器具备找函数的能力以后,它可以做很多事。
随着要找的函数不同,机器学习有不同的类别。
📘分类
- 回归:假设要找的函数的输出是一个数值,一个标量(scalar),这种机器学习的任务称为回归。
- 分类:另一个常见的任务是分类(classification,)。分类任务要让机器做选择题。
- 结构化学习:叫机器产生有结构的东西的问题称为结构化学习。
📙步骤
机器学习找函数的过程,分成 3 个步骤。
以模型如 f = b + w x 1 f=b+wx_1 f=b+wx1为例
📖第一步:写函数
-
第一个步骤是写出一个带有未知参数的函数 f。
- 带有未知参数的函数称为模型。
- x 1 x_1 x1称为特征,特征是已知的;w为权重,b为偏置,这两者都是未知的
- f f f为索要预测的问题答案,x为已知参数,b和w则为未知,需要利用数据去近似预测
📖第二步:定义损失函数
-
第 2 个步骤是定义损失(loss),损失也是一个函数。
- 这个函数的输入是模型里面的参数。如:损失是函数 L(b, w),其输入是模型参数 b 跟w。
- 损失函数输出的值代表,现在如果把这一组未知的参数,设定某一个数值的时候,这笔数值好还是不好。
- 真实的值称为标签(label)
- 使用几种方法计算每个误差,之后把每一个误差相加取平均就可以得到L
- 绝对平均误差
- 均方误差
- 交叉熵
📖第三步:找最优解
-
机器学习的第 3 步:解一个最优化的问题。
-
找一个 w 跟 b,把未知的参数找一个数值出来,看代哪一个数值进去可以让损失 L 的值最小,找出来的w,b为 w ∗ w^* w∗和 b ∗ b^* b∗
-
常用:梯度下降
- 如何移动?从一点开始,利用斜率的正负来确定妖王哪边移动。正,说明左边比右边低,左移。负,说明右边比左边低,右移。为0的点为一个最小值,但不一定是全局最小值
- 移动多少?移动的大小可以由斜率或学习率来决定。(1)斜率大一点,可以移动多一点。(2)学习率可以乘在移动大小前,用于确定一次移动多少。
- 何时停止?(1)设定一定的次数,次数达到后就不再移动;(2)微分为0的时候,也就是L函数上斜率为0的点
-
梯度下降的问题:有可能找到的点为局部最小值,而不是全局最小值。(事实上局部最小值是一个假问题,在做梯度下降的时候,真正面对的难题不是局部最小值。)
-