梯度下降法、坐标下降法、牛顿迭代法

来源:互联网 发布:板式家具设计软件 编辑:程序博客网 时间:2024/06/01 10:28

1 梯度下降法


2 坐标下降法

1.首先给定一个初始点,如 X_0=(x1,x2,…,xn); 
2.for x_i=1:n 
固定除x_i以外的其他维度 
以x_i为自变量,求取使得f取得最小值的x_i; 
end 
3. 循环执行步骤2,直到f的值不再变化或变化很小.

3 牛顿迭代法


牛顿迭代法(Newton’s method)又称为牛顿-拉夫逊方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。多数方程不存在求根公式,因此求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要。 
把f(x)在x0点附近展开成泰勒级数 f(x) = f(x0)+(x-x0)f’(x0)+(x-x0)^2*f”(x0)/2! +… 取其线性部分,作为非线性方程f(x) = 0的近似方程,即泰勒展开的前两项,则有f(x0)+f’(x0)(x-x0)=0 设f’(x0)≠0则其解为x1=x0-f(x0)/f’(x0) 这样,得到牛顿法的一个迭代序列:x(n+1)=x(n)-f(x(n))/f’(x(n))。

4 最小二乘法与梯度下降法区别

最小二乘是构建目标函数中的一种方法; 
梯度下降是求解最优目标函数中的一种方法。

对于变量个数为2-3个的目标函数,可以直接用方程组的方式求解出来,这也就是我们常见的狭义上的最小二乘法。 
对于变量个数多个的目标函数,这时,狭义的最小二乘法就难以胜任,而用梯度下降法求解就容易多了。

附录

梯度下降法matlab示例: 

function [k ender]=steepest(f,x,e)    %梯度下降法,f为目标函数(两变量x1和x2),x为初始点,如[0;0]    syms x1 x2 m; %m为学习率    d=-[diff(f,x1);diff(f,x2)];  %分别求x1和x2的偏导数,即下降的方向    flag=1;  %循环标志    k=0; %迭代次数    while(flag)        d_temp=subs(d,x1,x(1));      %将起始点代入,求得当次下降x1梯度值        d_temp=subs(d_temp,x2,x(2)); %将起始点代入,求得当次下降x2梯度值        nor=norm(d_temp); %范数        if(nor>=e) %梯度为0,说明达到极小点            x_temp=x+m*d_temp;            %改变初始点x的值            f_temp=subs(f,x1,x_temp(1));  %将改变后的x1和x2代入目标函数            f_temp=subs(f_temp,x2,x_temp(2));            h=diff(f_temp,m);  %对m求导,找出最佳学习率            m_temp=solve(h);   %求方程,得到当次m            x=x+m_temp*d_temp; %更新起始点x            k=k+1;        else            flag=0;        end    end    ender=double(x);  %终点end
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

调用函数:

syms x1 x2;f=(x1-1)^2+2*(x2-2)^2+x1;x=[3;0];e=10^(-20);[k ender]=steepest(f,x,e)

    原文地址:http://blog.csdn.net/zkq_1986/article/details/52317258

    原创粉丝点击
    热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 有人造谣我我该怎么办 宝宝晚上不睡觉哭闹怎么办 婴儿晚上不睡觉哭闹怎么办 2月宝宝排便困难怎么办 3岁宝宝老是哭闹怎么办 2岁了囟门闭合晚怎么办 宝宝卤门闭合慢怎么办 手经常碰水脱皮怎么办 迅雷文件已移除怎么办 手机不读sd卡怎么办 g买卖卖错账号怎么办 森林被野人拖走怎么办 我的世界没有羊怎么办 黑魂3杀死铁匠后怎么办 幻境7下8走错了怎么办 换了手机号微信怎么办 微信游戏没了怎么办 找sf网站被劫持怎么办 护发精油抹多了怎么办 用了护发素洗头怎么办 电脑c盘空间不足怎么办 把水蛭吃肚子里怎么办 不小心喝到蚂蟥怎么办 水蛭喝进肚子里怎么办 蚂蝗钻入皮肤里怎么办 孩子屁眼红疼怎么办啊 宝宝屁眼红疼怎么办4岁 屁股眼上火很疼怎么办 屁股上火了很痛怎么办 脚被虫子咬肿了怎么办 人在低谷的时候怎么办 支付宝忘了密码怎么办 忘了支付宝账号怎么办 支付宝账号丢了怎么办 生完孩子奶水不足怎么办 生完宝宝没奶水怎么办 生完三天没奶水怎么办 生完孩子奶头小怎么办 生完孩子没有奶水怎么办 宝宝刚出生没奶怎么办 婴儿含着乳头睡怎么办