首页 > 其他分享 >李宏毅机器学习笔记——梯度下降法

李宏毅机器学习笔记——梯度下降法

时间:2022-11-01 17:04:23浏览次数:63  
标签:函数 ## 李宏毅 random db 笔记 梯度 dw


深度学习介绍

基于仿生学的一种自成体系的机器学习算法,包括但不限于图像识别、语音、文本领域。

梯度下降法

作为深度学习算法种常用的优化算法

梯度下降法,是一种基于搜索的最优化方法,最用是最小化一个损失函数。梯度下降是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)。在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降是最常采用的方法之一,另一种常用的方法是最小二乘法。在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和模型参数值。

最小二乘法的问题

梯度下降

机器学习算法都需要最大化或最小化一个函数,这个函数被称为"目标函数",其中我们一般把最小化的一类函数,称为"损失函数"。它能根据预测结果,衡量出模型预测能力的好坏。在求损失函数最小化的过程中使用梯度下降法。

在直线方程中,导数代表斜率,在曲线方程中,导数代表切线的斜率。导数代表着参数、 李宏毅机器学习笔记——梯度下降法_人工智能 单位 变化时,损失函数相应的的变化。通过上面图中的点可以发现,该点的导数为负值,所以随着参 数 李宏毅机器学习笔记——梯度下降法_人工智能

# import random
# import matplotlib.pyplot as plt
#
# _x = [i/100. for i in range(100)]
# _y = [3*e+4+random.random()/10 for e in _x]
# print(_x)
# print(_y)
#
# # BP
# w = random.random()
# b = random.random()
#
# for i in range(30):
# for x,y in zip(_x,_y):
# z = w * x + b
# o = z - y
# loss = o ** 2
#
# dw = -2*o*x
# db = -2*o
#
# w = w + 0.1*dw
# b = b + 0.1*db
# # print(dw,db)
# print(w,b,loss)
#
# plt.plot(_x,_y,".")
#
# v = [w*e+b for e in _x]
# plt.plot(_x,v)
# plt.show()

import random

if __name__ == '__main__':
x = [ i/100. for i in range(100)]
y = [3*i+4+random.random()/100. for i in x]
w = random.random()
b = random.random()
for _ in range(5000):
for _x,_y in zip(x,y):
y_pre = _x*w+b
o = y_pre-_y
loss = o**2
dw = -2*o*_x
db = -2*o
w = w+0.1*dw
b = b+0.1*db

print(w,b,loss)

公式原理

梯度
李宏毅机器学习笔记——梯度下降法_人工智能_03
目标: 使 李宏毅机器学习笔记——梯度下降法_机器学习_04 尽可能的小
李宏毅机器学习笔记——梯度下降法_机器学习_05
目标: 使 李宏毅机器学习笔记——梯度下降法_损失函数_06 尽可能小
李宏毅机器学习笔记——梯度下降法_人工智能_07
由于目标函数的梯度随着特征向量的增加会越来越大,这是不合理的,因此我们给它加个系数 李宏毅机器学习笔记——梯度下降法_python_08
目标: 使 李宏毅机器学习笔记——梯度下降法_最小化_09 尽可能的小
李宏毅机器学习笔记——梯度下降法_python_10
有时也取 李宏毅机器学习笔记——梯度下降法_人工智能_11


标签:函数,##,李宏毅,random,db,笔记,梯度,dw
From: https://blog.51cto.com/u_13859040/5814492

相关文章

  • 李宏毅机器学习笔记——回归相关技术介绍
    回归定义Regression就是找到一个函数,通过输入特征,输出一个数值。连续性变量预测简单的线性回归单个特征,w,b多元回归多个特征多个w,b其中b及也可以估量为w0简单的梯......
  • 常系数齐次线性递推学习笔记
    写在前面的话碍于笔者水平有限,本文缺陷可能比较多,欢迎指正。前置知识:NTT。模板\(\text{Link}\)给定\(f_1,f_2,f_3\dotsf_k\)和\(a_0,a_1,a_2\dotsa_{k-1}\),求\[......
  • 【HDLBits刷题笔记】12 More Circuits
    Rule90第一次见这东西有点莫名其妙,但是其实看懂了之后就是左移和右移相异或,注意这里使用的是逻辑右移,会自动补零,不能使用算数左移<<<。moduletop_module(inputcl......
  • 笔记:java如何获取,指定范围的随机数?
    一、需求:如何获取一个指定范围的随机数,进行业务操作? 二、代码示例://传入指定的数值区间publicstaticintgetRandom(intmin,intmax){Randomrandom=newR......
  • linux使用笔记
    设置固定IPdebian默认网卡配置文件/etc/network/interfaces找到文件内对应网卡,将dhcp修改为static,并增加IP地址iface<网卡名>inetstaticaddress192.168.1.2......
  • 道长的算法笔记:单调栈查找前驱与后继
    单调栈单调栈是一种满足单调性的栈结构,其维护单调性方式是弹出栈顶不符合的条件的元素,也就是说,单调栈存储的并非入栈的全部元素,相当一部分元素会被弹掉。使用单调栈通常......
  • 做题笔记 - 重要
    1.****** for循环中的赋值语句只能使用平行赋值,不能用多个表达式正确用法:fori,j:=len(num1)-1,len(num2)-1;...错误用法:fori:=len(num1)-1,j:= le......
  • 学习笔记——动态 dp
    前言好消息,CSP-St4出DDP,并且有的人场上为了调T3的假算没写。。。概述其实是个挺简单的东西,就是如果一道题可以通过dp轻松解决,但是题目加上了每次询问修改一些信......
  • linux笔记
    马哥linux笔记11_04网络配置ifg和ip系列命令1.网络属于内核的功能。ip地址是属于内核的。虽然看起来像是配置在网卡上,但实际上是属于内核。无论数据是从哪个网卡进来,只......
  • 【笔记】正交和酉矩阵
    从Gram-SchmidtProcedure谈起。施密特正交化会把一组向量组,变换为正交矩阵和上三角矩阵的乘积。这就是QR分解。ModifiedGram-Schmidt是通过迭代的方法计算的。单位投影......