机器学习(MACHINE LEARNING)MATLAB人口增长模型logistic参数确定

文章目录

  • 1 Logistic函数(又称sigmoid函数)
  • 2 logistic回归模型
  • 3 logistic 人口增长模型的参数确定

1 Logistic函数(又称sigmoid函数)

Logistic函数或Logistic曲线是一种常见的S形函数,它是皮埃尔·弗朗索瓦·韦吕勒在1844或1845年在研究它与人口增长的关系时命名的。广义Logistic曲线可以模仿一些情况人口增长(P)的S形曲线。起初阶段大致是指数增长;然后随着开始变得饱和,增加变慢;最后,达到成熟时增加停止。
Logisitc模型是广义线性模型中的一类。常用于分类。在业界有相关广泛的应用。常见的如信用评分模型,用于判定某个人的违约概率。

2 logistic回归模型

logistic回归是用线性模型解决分类问题的算法
考虑现在有一个样本集合,样本特征有两维,要用一条直线作为这两类的分界线,如下图所示
机器学习(MACHINE LEARNING)MATLAB人口增长模型logistic参数确定_第1张图片
也就是说logistic算法就是要找到这么一条直线,使得可以对样本进行分类。但是由于是分类问题,所以我们使用方差来度量模型就不合适了,这也正是logistic算法解决的问题。

3 logistic 人口增长模型的参数确定

当人口P(t)受限于极限值L时,它符合logistic曲线,具有形式P(t)=L/(1+ CAt))。对下列数据集求解参数A和C,L是已知的。
(a) (0,200),(1,400),(2,650)(3,850),(4,950); L=1000

function C=ispoly(X,Y,M)
n=length(X);
B=zeros(1:M+1);
F=zeros(n,M+1);
for k=1:M+1
    F(:,k)=X'.^(k-1);
end
A=F'*F;
B=F'*Y';
C=A\B;
C=flipud(C);

function Y=f(Y,L)
n=length(Y);
for i=1:n
Y(i)=logm((L/Y(i))-1);
end

function C=m(C)
C(1)=C(1);
C(2)=exp(C(2));
end
>>  Y=f(Y,1000)

Y =

    1.3863    0.4055   -0.6190   -1.7346   -2.9444

>> X=[0,1,2,3,4]

X =

     0     1     2     3     4

>> C=ispoly(X,Y,1)

C =

   -1.0802
    1.4590

>> C=m(C)

C =

   -1.0802
    4.3018
若只是类似此类: 给出数据,数据如下:
 
-3	-1	1	3
 
15	5	1	5
则直接:
Ispoly函数:
function C=ispoly(X,Y,M)
%Input    -X is the 1*n abscissea vector
%         -Y is the 1*n ordinate vector
%         -M is the degree of the least-squares polynomial
%Output   -C is the coefficient list for the polynomial
n=length(X);
B=zeros(1:M+1);
F=zeros(n,M+1);
for k=1:M+1
    F(:,k)=X'.^(k-1);
end
A=F'*F;
B=F'*Y';
C=A\B;
C=flipud(C);
>> M=2
M =
2
>> X=[-3,-1,1,3]
X =
-3    -1     1     3
>> Y=[15,5,1,5]
Y =
15     5     1     5
C=ispoly(X,Y,M)
C =
0.8750
   -1.7000
2.1250

你可能感兴趣的:(Machine,learning)