1.Linear Regression
来源:互联网 发布:amd锐龙 知乎 编辑:程序博客网 时间:2024/06/05 20:14
线性回归属于监督学习:先给定一个训练集,根据这个训练集学习出一个线性函数,然后通过样本测试这个函数训练的好不好(即此函数是否足够拟合训练集数据),最后挑选出最好的函数(cost最小)。
在样本集中,假设样本是单线性回归的(自变量只有一个)。则我们给出变量线性回归的模型:
x是特征,h(x)是假设性函数。
代价函数:
m为训练样本的个数。
我们的目的,就是要通过不断调整:θ0,θ1,使得代价函数取向最小值。
θ0,θ1 要同时调整才能满足微分上的意义,否则,在θ0,θ1相关的代价函数在三维上,并不是在任意方向上实现梯度递减,而是在θ0,θ1两个坐标轴方将以此实现梯度递减。
可视化如图:
这里我们通过批量梯度下降(batch gradient descent)算法来对θ0,θ1进行更新:
在单特征的线性回归中,即有:
代价函数:
function J = computeCost(X, y, theta)m = length(y); %训练样本个数J = 0;J = sum((X * theta - y).^2) / (2*m); % X(79,2) theta(2,1)end
梯度递减函数:
function [theta, J_history] = gradientDescent(X, y, theta, alpha, num_iters)m = length(y); % number of training examplesJ_history = zeros(num_iters, 1);theta_s=theta;for iter = 1:num_iters theta(1) = theta(1) - alpha / m * sum(X * theta_s - y); theta(2) = theta(2) - alpha / m * sum((X * theta_s - y) .* X(:,2)); theta_s=theta; % 用theta_s存储上次结果。 J_history(iter) = computeCost(X, y, theta);endJ_historyend
阅读全文
0 0
- 1.linear Regression
- 1.Linear Regression
- Linear regression
- linear regression
- linear regression
- linear regression
- Linear Regression
- linear regression
- linear regression
- linear regression
- linear regression
- Linear Regression
- Linear Regression
- Linear Regression
- linear-regression
- Linear regression
- Linear Regression
- Linear Regression
- C# 64位win7下DllImport LoadLibrary函数失败
- 新的旅程-博客园
- Android----图片缓存技术
- linux下获取当前屏幕分辨率
- hibernate的缓存类别
- 1.Linear Regression
- 算法day01
- 将代码隐藏到数据区
- css实现两端对齐
- Python3 post请求
- Struts2 [Error]:multipart.JakartaMultiPartRequest:68
- 开灯问题
- Java多线程学习(超详细总结)
- maven约定优于配置