冠县哪里有做网站的,163邮箱官方注册入口,宝安中心做网站多少钱,辽宁建设厅新网站目录
一、基本概念
二、概念的数学形式表达
三、确定w和b
1.读取或输入数据
2.归一化、标准化
2.1 均值
2.2 归一化
2.3 标准化
3.求解w和b
1.直接解方程
2.最小二乘法#xff08;least square method#xff09;求解#xff1a;
4. 评估回归模型
四、regress线…目录
一、基本概念
二、概念的数学形式表达
三、确定w和b
1.读取或输入数据
2.归一化、标准化
2.1 均值
2.2 归一化
2.3 标准化
3.求解w和b
1.直接解方程
2.最小二乘法least square method求解
4. 评估回归模型
四、regress线性回归命令
1.调函数解方程
2.对原始值和预测值进行绘图
3. 画残差图
五、matlab颜色表
六、matlab调色板
1、常用颜色的RGB值
2、产生标准调色板的函数 一、基本概念
线性(linear)
指量与量之间按比例、成直线的关系在空间和时间上代表规则和光滑的运动一阶导数为常数
非线性(non-linear)
指不按比例、不成直线的关系代表不规则的运动和突变一阶导数不为常数。
一个线性的例子
数据工资和年龄2个特征 目标预测银行会贷款给我多少钱标签
考虑工资和年龄都会影响最终银行贷款的结果那么他们各自有多大的影响呢参数
通俗的解释
x1,x2就是我们的两个特征年龄、工资y是银行最终会借给我们多少钱
找到最合适的一条线想象一个高维来最好的拟合我们的数据点 数学形式来了 二、概念的数学形式表达
给定数据集 数据的矩阵形式 线性模型(linear model)试图学得一个通过属性组合的线性组合来进行预测的函数即 用向量形式写成: 线性回归(linear regression)试图学得一个线性模型以尽可能准确地预测实值输出标记 三、确定w和b
对离散属性
若属性间存在“序”关系可通过连续化将其转化为连续值。
若属性间不存在“序”关系则转化为k维向量。 1.读取或输入数据 matlab不需要导入库直接引用函数 csvread 读取csv数据文件
首先我们先看看csv数据的导入
% 引用函数 csvread 读取csv数据文件data csvread(路径,1,0) #从第二行第0列读取数据 读取数据后得分出和为X何为Y
# matlab从1开始算与实际一样
X data[:,1:4] # 1到4列所有的数据也就是实际的1到4列
Y data[:, 6] # 第6列所有的数据也就是实际的第6列 接下来我们看看自己建立矩阵的数据读取方式
Y[160260250];X[70,35,175,40,2.465,42,3];
返回 说到矩阵了就顺便说一下 创建矩阵的相关知识 (1) ones()函数产生全为1的矩阵ones(n)产生n*n维的全1矩阵ones(m,n)产生m*n维的全1矩阵 (2) zeros()函数产生全为0的矩阵 (3) rand()函数产生在01区间均匀分布的随机阵 (4) eye()函数产生单位阵 (5) randn()函数产生均值为0方差为1的标准正态分布随机矩阵。 2.归一化、标准化
2.1 均值 # MATLAB直接引用mean()函数就好
X_mean mean(X)
Y_mean mean(Y) 1. mean:计算向量均值。mean(x,1)列向量均值,mean(x,2)行向量均值。 mean2(x)矩阵均值. 2. std计算向量均方差std(x,0,1)列向量均方差,std(x,0,2)行向量均方差。 std2(x)矩阵均方差 3. var计算向量方差var(x) 4. sse误差平方和,sse(x)。越接近于0说明拟合的越好数据预测越成功。 5. mse均方差平方和,mse(x)sse(x)/N。意义同sse 6. R-square确定系数。确定系数是通过数据的变化来表征一个拟合的好坏。由上面的表达式可以知道“确定系数”的正常取值范围为[0 1]越接近1表明方程的变量对y的解释能力越强这个模型对数据拟合的也较好。 要想确定w和b首先要视情况决定是否需要对数据进行归一化或标准化 2.2 归一化
%归一化X[70,35,175,40,2.465,42,3];
for XXMappedX (X-min(X))/(max(X)-min(X))
end
%用函数mapminmax
%默认的map范围是[-1, 1]所以如果需要[0, 1]则按这样的格式提供参数:MappedData mapminmax(OriginalData, 0, 1);
% 只按行归一化如果是矩阵则每行各自归一化如果需要对整个矩阵归一化FlattenedData OriginalData(:); % 展开矩阵为一列然后转置为一行。
MappedFlattened mapminmax(FlattenedData, 0, 1); % 归一化。% 还原为原始矩阵形式。此处不需转置回去因为reshape恰好是按列重新排序
MappedData reshape(MappedFlattened, size(OriginalData));
2.3 标准化
% z-score 标准化
% 新数据原数据-均值/标准差
% 标准化以后X中元素的取值范围为实数。Xzscore(X)
3.求解w和b
1.直接解方程 N length(Y);A X*X-(N*X_mean*X_mean);
CX*Y - (N*X_mean*Y_mean);
B (A^-1*C).
2.最小二乘法least square method求解
把数据集D表示为一个m*(d1)大小的矩阵X其中每行对应于一个示例改行前d个元素对应于示例的d个属性值最好一个元素恒置为1即 A[1 2 3;4 5 6;7 8 9];
B ones(3,1) %生成3行1列的1矩阵
% B[1;1;1]; %一共三行用“;”分开
A_column[A B];
display(A_column);%输出结果
当X^TX 为满秩矩阵(full-rank matrix) 或正走矩阵(positive definite matrix) 时令 得到 w (X*X)^-1*X*Y %变量的系数
w0 Y_mean - X_mean*w %常数 其中(X^TX)^-l是矩阵(X^TX)的逆矩阵.令xi (xi ,l) ,则最终学得的多元线性回归模型为 YY X*ww0 %Y的估计值
4. 评估回归模型 %离差平方和
S var(Y);
fprintf(离差平方和S%d\n,S)
%回归平方和
U var(YY);
fprintf(回归平方和U%d\n,U)
%剩余平方和
QS-U;
fprintf(剩余平方和Q%d\n,Q)
%复可决系数
R2 U/S;
fprintf(复可决系数R2%d\n,R2)
%负相关系数
R sqrt(U/S);
fprintf(复相关系数R%d\n,R)
%回归均方
% n X_mean 的个数
UU U/n;
fprintf(回归均方%d\n,UU)
%剩余均方
% N Y的个数
QQ Q/(N-n-1);
fprintf(剩余均方%d\n,QQ)
%剩余标准差
s sqrt(QQ);
fprintf(剩余标准差s%d\n,s)
%方程显著性检验值
F UU/QQ;
fprintf(方差显著性检验值F%d\n,F)
四、regress线性回归命令
用于一元及多元线性回归本质上是最小二乘法。在Matlab 2014a中输入help regress 会弹出和regress的相关信息 调用格式 B regress(Y,X)[B,BINT] regress(Y,X)[B,BINT,R] regress(Y,X)[B,BINT,R,RINT] regress(Y,X)B,BINT,R,RINT,STATS] regress(Y,X)[...] regress(Y,X,ALPHA)参数解释 B回归系数是个向量“the vector B of regression coefficients in the linear model Y X*B”。BINT回归系数的区间估计“a matrix BINT of 95% confidence intervals for B”。R残差 “a vector R of residuals”。RINT置信区间“a matrix RINT of intervals that can be used to diagnose outliers”。STATS用于检验回归模型的统计量。有4个数值判定系数R^2F统计量观测值检验的p的值误差方差的估计。ALPHA显著性水平缺少时为默认值0.05。1.调函数解方程
% 方程求解函数使用
[b,bint,r,rint,stats] regress(Y,X);
2.对原始值和预测值进行绘图
x 1:1:N;
plot(x,Y,-*b,x,YY,-or); %线性颜色标记% hold on; %表示在同一张图上继续作画
% title(x); %命名标题
% axis([0 1 0 10]) % 设置坐标轴在指定的区间
% xlabel(t); %命名x轴
% ylabel(x); %命名y轴
% grid on %显示坐标轴网格线
% legend(Y,YY); %*加标注2条线分别代表是什么*
3. 画残差图
figure %创建窗口
rcoolot(r,rint) %绘制残差图
五、matlab颜色表 线型 说明 标记符 说明 颜色 说明 - 实线(默认) 加号符 r 红色 -- 双划线 o 空心圆 g 绿色 : 虚线 * 星号 b 蓝色 :. 点划线 . 实心圆 c 青绿色 x 叉号符 m 洋红色 s(square) 正方形 y 黄色 d 菱形 k 黑色 ^ 上三角形 w 白色 v 下三角形 右三角形 左三角形 p(pentagram) 五角星 h(hexagram) 六边形 square正方形pentagram五角形hexagram六角形
六、matlab调色板
1、常用颜色的RGB值 -------------------------------------------- 颜色 R G B 颜色 R G B -------------------------------------------- 黑 0 0 1 洋红 1 0 1 白 1 1 1 青蓝 0 1 1 红 1 0 0 天蓝 0.67 0 1 绿 0 1 0 橘黄 1 0.50 蓝 0 0 1 深红 0.5 0 0 黄 1 1 0 灰 0.5 0.50.5 --------------------------------------------
⚠️注意MATLAB中调色板色彩强度[0,1]0代表最暗1代表最亮。
2、产生标准调色板的函数 ------------------------------------------------- 函数名 调色板 ------------------------------------------------- Hsv 色彩饱和度以红色开始并以红色结束 Hot 黑色红色黄色白色 Cool 青蓝和洋红的色度 Pink 粉红的色度 Gray 线型灰度 Bone 带蓝色的灰度 Jet Hsv的一种变形以蓝色开始以蓝色结束 Copper 线型铜色度 Prim 三棱镜交替为红、橘黄、黄、绿和天蓝 Flag 交替为红、白、蓝和黑
--------------------------------------------------
缺省情况下调用上述函数灰产生一个64×3的调色板用户也可指定调色板大小。