机器学习1:线性回归作业

本文介绍了机器学习的基础——线性回归,包括单变量的代码实现和代价函数、梯度下降的讲解。同时,深入探讨了Matlab的相关知识,如plot函数、size函数、开根号、hold on/off等操作,帮助读者更好地理解和应用线性回归模型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.代码实现–单变量
1.绘制图像
data = load('D:/ex1data1.txt'); % 加载数据
X = data(:, 1); % 该数据只有有两列,第一列是一个城市的人口
y = data(:, 2); % 第二列是那个城市的食品运输车的利润
plot(X,y,"rx",'MarkerSize',10); % 绘制图像
xlabel('Population of City in 10,000s'); % 设置横纵坐标标签
ylabel('Profit in $10,000s'); 

训练数据的散点图

2.代价函数 Cost Function 梯度下降 Gradient Descent

此处使用的是batch gradient descent algorithm

% 代价函数部分
m = length(y);
X = [ones(m, 1), data(:,1)]; % 把theta_0也当做一个特征,使X_0取值为1,方便矩阵运算
theta = zeros(2, 1); % 初始化
iterations = 1500;
alpha = 0.01;
J = sum((X * theta - y).^2) / (2*m);% 其中.^2是对矩阵中的每个元素求平方,sum()求和

% 梯度下降部分
J_history = zeros(iterations , 1);
for iter = 1:iterations
   %注意!θ要同步更新!
    theta_1 = theta(1) - alpha * (1/m) * sum(X * theta -y);
    theta_2 = theta(2) - alpha * (1/m) * 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值