IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 李宏毅20机器学习P3:Regression -> 正文阅读

[人工智能]李宏毅20机器学习P3:Regression

P3:Regrssion(回归)

机器学习的三个步骤

  1. 寻找模型
  2. 定义损失函数(Loss)来衡量模型好坏
  3. 找出最好的函数
    Step1 :寻找function set
    假设为线性回归,则 y = ∑ w i ? x i + b y = \sum{w_i * x_i} + b y=wi??xi?+b 其中 x i x_i xi?是输入数据集的各种属性,即feature; w i w_i wi?与b分别为模型的权重weight和偏差bias。
    Step2 :衡量function的好坏
    定义Loss函数L:输入为函数,输出是好坏程度
    L ( f ) = L ( w , b ) = ∑ n = 1 N ( y ^ n ? ( b + w ? x n ) ) 2 L(f) = L(w,b)=\sum_{n=1}^N ({\hat{y}}^n-(b+w*{x^n}))^2 L(f)=L(w,b)=n=1N?(y^?n?(b+w?xn))2
    Step3 :找出最好的function
    找出最好的函数 f ? = a r g ? min ? f L ( f ) 即 w ? , b ? = a r g ? min ? w , b L ( w , b ) f^* = arg\,\min_{f} L(f) 即 w^*,b^* = arg\,\min_{w,b} L(w,b) f?=argminf?L(f)w?,b?=argminw,b?L(w,b),即找出w.b使得Loss函数最小。常用的方法是梯度下降Gradient desent

Gradient descent 梯度下降

当损失函数有两个参数w,b时,即: w ? , b ? = a r g ? min ? w , b L ( w , b ) w^*,b^* = arg\,\min{w,b} L(w,b) w?,b?=argminw,bL(w,b)。做法如下:

  • 随机设置一个初始值 w 0 , b 0 w^0,b^0 w0,b0
  • 计算 ? L ? w ∣ ( w = w 0 , b = b 0 ) , ? L ? b ∣ ( w = w 0 , b = b 0 ) \frac{\partial L}{\partial w}|_(w=w^0,b=b^0), \frac{\partial L}{\partial b}|_(w=w^0,b=b^0) ?w?L?(?w=w0,b=b0),?b?L?(?w=w0,b=b0),更新w的值为: w 1 ← w 0 ? η ? L ? w ∣ ( w = w 0 , b = b 0 ) , b 1 ← b 0 ? η ? L ? b ∣ ( w = w 0 , b = b 0 ) w^1 \leftarrow w^0-\eta \frac{\partial L}{\partial w}|_(w=w^0,b=b^0) , b^1 \leftarrow b^0-\eta \frac{\partial L}{\partial b}|_(w=w^0,b=b^0) w1w0?η?w?L?(?w=w0,b=b0),b1b0?η?b?L?(?w=w0,b=b0)
  • 重复上一步 ? L ? w ∣ ( w = w 1 , b = b 1 ) , ? L ? b ∣ ( w = w 1 , b = b 1 ) \frac{\partial L}{\partial w}|_(w=w^1,b=b^1),\frac{\partial L}{\partial b}|_(w=w^1,b=b^1) ?w?L?(?w=w1,b=b1),?b?L?(?w=w1,b=b1)反复迭代n次,直到找到局部最优解使得 ? L ? w ∣ ( w = w i , b = b i ) , ? L ? b ∣ ( w = w i , b = b i ) ) = 0 \frac{\partial L}{\partial w}|_(w=w^i,b=b^i),\frac{\partial L}{\partial b}|_(w=w^i,b=b^i))=0 ?w?L?(?w=wi,b=bi),?b?L?(?w=wi,b=bi))=0

公式如下:
L ( w , b ) = ∑ n = 1 N ( y ^ n ? ( b + w ? x n ) ) 2 ? L ? w = ∑ n = 1 N 2 ( y ^ n ? ( b + w ? x n ) ) ( ? ( x n ) ) ? L ? b = ? ∑ n = 1 N 2 ( y ^ n ? ( b + w ? x n ) ) L(w,b)=\sum_{n=1}^N ({\hat{y}}^n-(b+w*{x^n}))^2 \\ \frac{\partial L}{\partial w}=\sum_{n=1}^N 2({\hat{y}}^n-(b+w*{x^n}))(-(x^n))\\ \frac{\partial L}{\partial b}=-\sum_{n=1}^N 2({\hat{y}}^n-(b+w*{x^n})) L(w,b)=n=1N?(y^?n?(b+w?xn))2?w?L?=n=1N?2(y^?n?(b+w?xn))(?(xn))?b?L?=?n=1N?2(y^?n?(b+w?xn))
回归问题的损失函数是凸函数(convex),意味着一定会找到全局最优解。但是,其它的机器学习问题中,多个参数的梯度下降可能会陷入局部最优解。

过拟合overfitting

在训练模型的过程中,为了减小训练准确度的偏差,通常选用复杂的模型。当模型的阶数越高,误差就越小。然而在测试时越复杂的模型可能会使得测试准确度不降反增,这种现象称为过拟合overfitting
解决方法:正则化Regularization-----即在step2时重新定义Loss函数:额外项为正则项。
L ( f ) = L ( w , b ) = ∑ n = 1 N ( y ^ n ? ( b + w ? x n ) ) 2 + λ ∑ w i 2 L(f) = L(w,b)=\sum_{n=1}^N ({\hat{y}}^n-(b+w*{x^n}))^2 +\lambda\sum{w_i}^2 L(f)=L(w,b)=n=1N?(y^?n?(b+w?xn))2+λwi?2
当function的参数越小,function越平滑,即当x变化时y的变化很小。当有噪声干扰时,function会有很好的鲁棒性。λ的变化可以决定function的平滑程度,存在最优的λ使得测试准确度与训练准确度最小。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-10-12 23:26:02  更:2021-10-12 23:29:58 
 
开发: 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 10:33:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码