(一)梯度下降求解线性回归

学习才能消去恐惧叭

Part 1: Basic Function

% 完成 warmUpExercise.m
fprintf(‘Running warmUpExercise ... \n‘);
fprintf(‘5x5 Identity Matrix: \n‘);
warmUpExercise()

warmUpExercise返回一个n为5的单位矩阵

function A = warmUpExercise()

A = eye(5);

Part 2: Plotting

data = load(‘ex1data1.txt‘);    %读入数据
X = data(:, 1); y = data(:, 2);  %X为数据的第一列,Y为第二列
m = length(y); % 训练集数据条数

plotData(X, y);  

marker是图上画上点的地方表上符号,不如点,方框,圆框,十字,星号,等等
后面的size就是其大小了,不知道值的话,可以画完图点编辑框上面的箭头,然后双击画的图,下面出现属性框,marker项后面的数字下拉菜单就是size,选择合适的大小,今后就用这个值就行。

function plotData(x, y)

figure(1); % open a new figure window
plot(x,y,‘rx‘,‘MarkerSize‘,10);

xlabel(‘Population of City in 10,000s‘);
ylabel(‘Profit in $10,000s‘);

数据分布图如下:

  

Part 3: Cost and Gradient descent

1、梯度下降前的数据预处理与设置

X = [ones(m, 1), data(:,1)]; % 添加x0列,全置为1
theta = zeros(2, 1); % 初始化theta

iterations = 1500;  %迭代次数
alpha = 0.01;     %学习率alpha

2、计算损失函数

线性回归的损失函数为:

预测值hypothesis hθ(x)为:

function J = computeCost(X, Y, theta)
m = length(Y); 

J = (1/(2*m))*sum((X*theta-Y).^2); 

3、执行梯度下降

原文地址:https://www.cnblogs.com/Xycdada/p/11219193.html

时间: 2024-11-08 23:10:21

(一)梯度下降求解线性回归的相关文章

梯度下降法求解线性回归

梯度下降法 梯度下降法(英语:Gradient descent)是一个一阶最优化算法,通常也称为最速下降法. 要使用梯度下降法找到一个函数的局部极小值,必须向函数上当前点对应梯度(或者是近似梯度)的反方向的规定步长距离点进行迭代搜索.如果相反地向梯度正方向迭代进行搜索,则会接近函数的局部极大值点:这个过程则被称为梯度上升法. 梯度下降的形象解释 现在有一个山谷,你想要到达山谷的最低端,你此时在A点,那么此时就可以利用梯度下降来找到最低点.你每次以你当前的方向为基准.选择一个最陡峭的方向,朝着山下

看代码理解批量梯度下降求解线下回归问题

layout: post title: 梯度下降算法 subtitle: 批量梯度下降求解线下回归问题 date: 2017-12-01 author: Felix catalog: true tags: - 机器学习 - 优化算法 --- //############################################################## //# //# 批量梯度下降算法实例:求解线性回归问题 //# //##############################

梯度下降优化线性回归

一.理论 二.数据集 6.1101,17.592 5.5277,9.1302 8.5186,13.662 7.0032,11.854 5.8598,6.8233 8.3829,11.886 7.4764,4.3483 8.5781,12 6.4862,6.5987 5.0546,3.8166 5.7107,3.2522 14.164,15.505 5.734,3.1551 8.4084,7.2258 5.6407,0.71618 5.3794,3.5129 6.3654,5.3048 5.130

tensorflow实现svm iris二分类——本质上在使用梯度下降法求解线性回归(loss是定制的而已)

iris二分类 # Linear Support Vector Machine: Soft Margin # ---------------------------------- # # This function shows how to use TensorFlow to # create a soft margin SVM # # We will use the iris data, specifically: # x1 = Sepal Length # x2 = Petal Width

tensorflow实现svm多分类 iris 3分类——本质上在使用梯度下降法求解线性回归(loss是定制的而已)

# Multi-class (Nonlinear) SVM Example # # This function wll illustrate how to # implement the gaussian kernel with # multiple classes on the iris dataset. # # Gaussian Kernel: # K(x1, x2) = exp(-gamma * abs(x1 - x2)^2) # # X : (Sepal Length, Petal Wi

机器学习入门:线性回归及梯度下降

机器学习入门:线性回归及梯度下降 本文会讲到: (1)线性回归的定义 (2)单变量线性回归 (3)cost function:评价线性回归是否拟合训练集的方法 (4)梯度下降:解决线性回归的方法之一 (5)feature scaling:加快梯度下降执行速度的方法 (6)多变量线性回归   Linear Regression 注意一句话:多变量线性回归之前必须要Feature Scaling! 方法:线性回归属于监督学习,因此方法和监督学习应该是一样的,先给定一个训练集,根据这个训练集学习出一个

机器学习:单变量线性回归及梯度下降

******************************************************************************* 注:本系列博客是博主学习Stanford大学 Andrew Ng 教授的<机器学习>课程笔记.博主深感学过课程后,不进行总结很容易遗忘,根据课程加上自己对不明白问题的补充遂有此系列博客.本系列博客包括线性回归.逻辑回归.神经网络.机器学习的应用和系统设计.支持向量机.聚类.将维.异常检测.推荐系统及大规模机器学习等内容. *******

机器学习(1)之梯度下降(gradient descent)

机器学习(1)之梯度下降(gradient descent) 题记:最近零碎的时间都在学习Andrew Ng的machine learning,因此就有了这些笔记. 梯度下降是线性回归的一种(Linear Regression),首先给出一个关于房屋的经典例子, 面积(feet2) 房间个数 价格(1000$) 2104 3 400 1600 3 330 2400 3 369 1416 2 232 3000 4 540 ... ... .. 上表中面积和房间个数是输入参数,价格是所要输出的解.面

【转】 随机梯度下降(Stochastic gradient descent)和 批量梯度下降(Batch gradient descent )的公式对比、实现对比

梯度下降(GD)是最小化风险函数.损失函数的一种常用方法,随机梯度下降和批量梯度下降是两种迭代求解思路,下面从公式和实现的角度对两者进行分析,如有哪个方面写的不对,希望网友纠正. 下面的h(x)是要拟合的函数,J(theta)损失函数,theta是参数,要迭代求解的值,theta求解出来了那最终要拟合的函数h(theta)就出来了.其中m是训练集的记录条数,j是参数的个数. 1.批量梯度下降的求解思路如下: (1)将J(theta)对theta求偏导,得到每个theta对应的的梯度 (2)由于是