matlab人口增长线性回归拟合_在matlab中实现线性回归和logistic回归

本文介绍了如何在MATLAB中使用公式法和梯度下降法实现线性回归,以及利用MATLAB内置函数和梯度下降法进行Logistic回归。展示了具体代码并给出了示例数据。
摘要由CSDN通过智能技术生成

本文主要讲解在matlab中实现Linear Regression和Logistic Regression的代码,并不涉及公式推导。具体的计算公式和推导,相关的机器学习文章和视频一大堆,推荐看Andrew NG的公开课。

一、线性回归(Linear Regression)

方法一、利用公式 :

function [ theta ] =linearReg()%线性回归。X=[1 1;1 2;1 3;1 4]; %注意第一列全为1,即x0=1,第二列才为x1

Y=[1.1;2.2;2.7;3.8];

A=inv(X'*X);

theta=A*X'*Y; %根据公式theta=(X'*X)^(-1)*X'*Y;

end

这种方法最简单,但是公式推导过程很复杂。

方法二:使用梯度下降法迭代

function theta=linearRegression()%梯度下降法寻找最合适的theta,使得J最小

options=optimset('GradObj','on','MaxIter',100);

inittheta=[1 1]';

theta=fminunc(@costFunc,inittheta,options);

end%%function [J,gradient]=costFunc(theta)%J为代价函数。%y=theta(0)*x0+theta(1)*x1; 找出最好的theta来拟合曲线。%使得J最小的theta就是最好的theta

x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值