‘壹’ 分类算法怎样分为 线性分类 和非线性分类
线性算法
线性算法的定义:在计算复杂性理论,一个被称为线性时间或 Ο(n)时间的算法,表示算法解题所需时间正比于输入资料的大小,通常以n表示。
这可以理解为,如果所需时间正比于输入资料的大小,那就是一个线性算法,类似于中学时学过的一次函数的函数图象
非线性算法
非线性算法一般有O(NlogN),O(N^2)等等。这些非线性算法所需的时间和输入资料大小不成正比,故函数图象应不会是一条直线,所以这些算法不是线性分类,即非线性分类。
‘贰’ 请问多目标线性规划的常用求解算法有哪些呢
多目标决策方法
多目标决策方法是从20世纪70年代中期发展起来的一种决策分析方法。决策分析是在系统规划、设计和制造等阶段为解决当前或未来可能发生的问题,在若干可选的方案中选择和决定最佳方案的一种分析过程。在社会经济系统的研究控制过程中我们所面临的系统决策问题常常是多目标的,例如我们在研究生产过程的组织决策时,既要考虑生产系统的产量最大,又要使产品质量高,生产成本低等。这些目标之间相互作用和矛盾,使决策过程相当复杂使决策者常常很难轻易作出决策。这类具有多个目标的决策总是就是多目标决策。多目标决策方法现已广泛地应用于工艺过程、工艺设计、配方配比、水资源利用、环境、人口、教育、能源、企业高速武器系统设计和评价、经济管理等领域。
多目标决策主要有以下几种方法:
(1)化多为少法:将多目标问题化成只有一个或二个目标的问题,然后用简单的决策方法求解,最常用的是线性加权和法。
(2)分层序列法:将所有目标按其重要性程度依次排序,先求出第一个最重要的目标的最优解,然后在保证前一目标最优解的前提下依次求下一目标的最优解,一直求到最后一个目标为止。
(3)直接求非劣解法:先求出一组非劣解,然后按事先确定好的评价标准从中找出一个满意的解。
(4)目标规划法:对于每一个目标都事先给定一个期望值,然后在满足系统一定约束条件下,找出与目标期望值最近的解。
(5)多属性效用法:各个目标均用表示效用程度大小的效用函数表示,通过效用函数构成多目标的综合效用函数,以此来评价各个可行方案的优劣。
(6)层次分析法:把目标体系结构予以展开,求得目标与决策方案的计量关系。
(7)重排序法:把原来的不好比较的非劣解通过其他办法使其排出优劣次序来。
(8)多目标群决策和多目标模糊决策等。
‘叁’ 关于线性回归算法还可以解决日常生活中哪些问题
趋势线
一条趋势线代表着时间序列数据的长期走势。它告诉我们一组特定数据(如GDP、石油价格和股票价格)是否在一段时期内增长或下降。虽然我们可以用肉眼观察数据点在坐标系的位置大体画出趋势线,更恰当的方法是利用线性回归计算出趋势线的位置和斜率。
流行病学
有关吸烟对死亡率和发病率影响的早期证据来自采用了回归分析的观察性研究。为了在分析观测数据时减少伪相关,除最感兴趣的变量之外,通常研究人员还会在他们的回归模型里包括一些额外变量。例如,假设我们有一个回归模型,在这个回归模型中吸烟行为是我们最感兴趣的独立变量,其相关变量是经数年观察得到的吸烟者寿命。研究人员可能将社会经济地位当成一个额外的独立变量,已确保任何经观察所得的吸烟对寿命的影响不是由于教育或收入差异引起的。然而,我们不可能把所有可能混淆结果的变量都加入到实证分析中。例如,某种不存在的基因可能会增加人死亡的几率,还会让人的吸烟量增加。因此,比起采用观察数据的回归分析得出的结论,随机对照试验常能产生更令人信服的因果关系证据。当可控实验不可行时,回归分析的衍生,如工具变量回归,可尝试用来估计观测数据的因果关系。
金融
资本资产定价模型利用线性回归以及Beta系数的概念分析和计算投资的系统风险。这是从联系投资回报和所有风险性资产回报的模型Beta系数直接得出的。
经济学
线性回归是经济学的主要实证工具。例如,它是用来预测消费支出,固定投资支出,存货投资,一国出口产品的购买,进口支出,要求持有流动性资产,劳动力需求、劳动力供给。
‘肆’ 非线性最优化的不同算法各适用于什么情况
1 无约束非线性最优化问题常用算法:
梯度法(最速下降法)、共轭梯度法、变尺度法和步长加速法。其中,前三个要用到函数的一阶导数或二阶导数,适用于函数表达式导数存在且求导简单的情况,而步长加速法则相反,适用于函数表达示复杂,甚至无解析表达式,或导数不存在情况。
2 约束非线性最优化问题常用算法:
按照是否化成无约束问题可分为 可行方向法、制约函数法(外点法和内点法),其中内点法适用于目标函数在可行域外性质复杂情况,外点法则相反。后者根据罚函数或障碍函数的构造不同,又有不同的变形。
‘伍’ 线性算法是指什么样算法请举几个例子。类似于进化算法就是指遗传算法,人工免疫算法等。
这里说的线性算法应该是从时间复杂度方面来说的,相对于进化算法的话。
即在线性时间或 Ο(n)时间内能求得问题最优解的算法,统称为线性算法。比如说动态规划法、分治法、回溯法、递归法等。
供参考
‘陆’ 什么是线性规划问题,及有那些相关概念如何解决
线性规划问题的数学模型的一般形式(1)列出约束条件及目标函数
(2)画出约束条件所表示的可行域
(3)在可行域内求目标函数的最优解 [编辑本段]线性规划的发展法国数学家 J.- B.- J.傅里叶和 C.瓦莱-普森分别于1832和1911年独立地提出线性规划的想法,但未引起注意。
1939年苏联数学家Л.В.康托罗维奇在《生产组织与计划中的数学方法》一书中提出线性规划问题,也未引起重视。
1947年美国数学家G.B.丹齐克提出线性规划的一般数学模型和求解线性规划问题的通用方法──单纯形法,为这门学科奠定了基础。
1947年美国数学家J.von诺伊曼提出对偶理论,开创了线性规划的许多新的研究领域,扩大了它的应用范围和解题能力。
1951年美国经济学家T.C.库普曼斯把线性规划应用到经济领域,为此与康托罗维奇一起获1975年诺贝尔经济学奖。
50年代后对线性规划进行大量的理论研究,并涌现出一大批新的算法。例如,1954年C.莱姆基提出对偶单纯形法,1954年S.加斯和T.萨迪等人解决了线性规划的灵敏度分析和参数规划问题,1956年A.塔克提出互补松弛定理,1960年G.B.丹齐克和P.沃尔夫提出分解算法等。
线性规划的研究成果还直接推动了其他数学规划问题包括整数规划、随机规划和非线性规划的算法研究。由于数字电子计算机的发展,出现了许多线性规划软件,如MPSX,OPHEIE,UMPIRE等,可以很方便地求解几千个变量的线性规划问题。
1979年苏联数学家L. G. Khachian提出解线性规划问题的椭球算法,并证明它是多项式时间算法。
1984年美国贝尔电话实验室的印度数学家N.卡马卡提出解线性规划问题的新的多项式时间算法。用这种方法求解线性规划问题在变量个数为5000时只要单纯形法所用时间的1/50。现已形成线性规划多项式算法理论。50年代后线性规划的应用范围不断扩大。 建立线性规划模型的方法 [编辑本段]线性规划的模型建立从实际问题中建立数学模型一般有以下三个步骤;
1.根据影响所要达到目的的因素找到决策变量;
2.由决策变量和所在达到目的之间的函数关系确定目标函数;
3.由决策变量所受的限制条件确定决策变量所要满足的约束条件。
所建立的数学模型具有以下特点:
1、每个模型都有若干个决策变量(x1,x2,x3……,xn),其中n为决策变量个数。决策变量的一组值表示一种方案,同时决策变量一般式非负的。
2、目标函数是决策变量的线性函数,根据具体问题可以是最大化(max)或最小化(min),二者统称为最优化(opt)。
3、约束条件也是决策变量的线性函数。
当我们得到的数学模型的目标函数为线性函数,约束条件为线性等式或不等式时称此数学模型为线性规划模型。
例:
生产安排模型:某工厂要安排生产Ⅰ、Ⅱ两种产品,已知生产单位产品所需的设备台时及A、B两种原材料的消耗,如表所示,表中右边一列是每日设备能力及原材料供应的限量,该工厂生产一单位产品Ⅰ可获利2元,生产一单位产品Ⅱ可获利3元,问应如何安排生产,使其获得最多?
解:
1、确定决策变量:设x1、x2为产品Ⅰ、Ⅱ的生产数量;
2、明确目标函数:获利最大,即求2x1+3x2最大值;
3、所满足的约束条件:
设备限制:x1+2x2≤8
原材料A限制:4x1≤16
原材料B限制:4x2≤12
基本要求:x1,x2≥0
用max代替最大值,s.t.(subject to 的简写)代替约束条件,则该模型可记为:
max z=2x1+3x2
s.t. x1+2x2≤8
4x1≤16
4x2≤12
x1,x2≥0 [编辑本段]线性规划的解法求解线性规划问题的基本方法是单纯形法,现在已有单纯形法的标准软件,可在电子计算机上求解约束条件和决策变量数达 10000个以上的线性规划问题。为了提高解题速度,又有改进单纯形法、对偶单纯形法、原始对偶方法、分解算法和各种多项式时间算法。对于只有两个变量的简单的线性规划问题,也可采用图解法求解。这种方法仅适用于只有两个变量的线性规划问题。它的特点是直观而易于理解,但实用价值不大。通过图解法求解可以理解线性规划的一些基本概念。
对于一般线性规划问题:
Min z=CX
S.T.
AX =b
X>=0
其中A为一个m*n矩阵。
若A行满秩
则可以找到基矩阵B,并寻找初始基解。
用N表示对应于B的非基矩阵。则规划问题1可化为:
规划问题2:
Min z=CB XB+CNXN
S.T.
B XB+N XN = b (1)
XB >= 0, XN >= 0 (2)
(1)两边同乘于B-1,得
XB + B-1 N XN = B-1 b
同时,由上式得XB = B-1 b - B-1 N XN,也代入目标函数,问题可以继续化为:
规划问题3:
Min z=CB B-1 b + ( CN - CB B-1 N ) XN
S.T.
XB+B-1N XN = B-1 b (1)
XB >= 0, XN >= 0 (2)
令N:=B-1N,b:= B-1 b,ζ= CB B-1b,σ= CN - CB B-1 N,则上述问题化为规划问题形式4:
Min z= ζ + σ XN
S.T.
XB+ N XN = b (1)
XB >= 0, XN >= 0 (2)
在上述变换中,若能找到规划问题形式4,使得b>=0,称该形式为初始基解形式。
上述的变换相当于对整个扩展矩阵(包含C及A) 乘以增广矩阵 。所以重在选择B,从而找出对应的CB。
若存在初始基解
若σ>= 0
则z >=ζ。同时,令XN = 0,XB = b,这是一个可行解,且此时z=ζ,即达到最优值。所以,此时可以得到最优解。
若σ >= 0不成立
可以采用单纯形表变换。
σ中存在分量<0。这些负分量对应的决策变量编号中,最小的为j。N中与j对应的列向量为Pj。
若Pj <=0不成立
则Pj至少存在一个分量ai,j为正。在规划问题4的约束条件(1)的两边乘以矩阵T。
T=
则变换后,决策变量xj成为基变量,替换掉原来的那个基变量。为使得T b >= 0,且T Pj=ei(其中,ei表示第i个单位向量),需要:
l ai,j>0。
l βq+βi*(-aq,j/ai,j)>=0,其中q!=i。即βq>=βi/ ai,j * aq,j。
n 若aq,j<=0,上式一定成立。
n 若aq,j>0,则需要βq / aq,j >=βi/ ai,j。因此,要选择i使得βi/ ai,j最小。
如果这种方法确定了多个下标,选择下标最小的一个。
转换后得到规划问题4的形式,继续对σ进行判断。由于基解是有限个,因此,一定可以在有限步跳出该循环。
若对于每一个i,ai,j<=0
最优值无界。
若不能寻找到初始基解
无解。
若A不是行满秩
化简直到A行满秩,转到若A行满秩。 [编辑本段]线性规划的应用在企业的各项管理活动中,例如计划、生产、运输、技术等问题,线性规划是指从各种限制条件的组合中,选择出最为合理的计算方法,建立线性规划模型从而求得最佳结果
‘柒’ 机器学习故事汇-线性回归算法
机器学习故事汇-线性回归算法
今天咱们要来唠的是机器学习中最基本也是最重要的算法之一线性回归,正当此时迪哥正在前往银行的路上,准备办理贷款(低保),到了之后银行问了我两件事,年龄和工资都多少呀?(特征)当得到了结果后告诉我我们只能贷给你100块,别问为什么!机器算的!(机器你拿毛线算的100快?)
这个图就是机器如何进行预测的(回归)它会根据一票子兄弟贷款的历史数据(年龄和工资分别对应于X1与X2)找出来最好的拟合线(面)来进行预测,这样你的数据来了之后直接带入进去就可以得出来该给你多少钱了。
我们用两个参数来分别对应于工资和年龄,控制它们对结果的影响大小,这里做了一个整合是把偏置项和权重参数项放到了一起(加了个X0让其都等于1)
要想让银行能开的下去,那就得少遇到点麻烦,迪哥这么大碗就给我100块(真实的指标应该为200块)肯定是要砸场子的,所以我们的目标是要让得到的预测值跟真实值越接近越好。
既然说到误差了,咱们就来好好唠一下,首先银行的目标得让误差越小越好,这样才能够使得我们的结果是越准确的。那么这个误差有什么规律可循吗?
咱们先来说说这个误差为啥会服从高斯分布呢,这个事就得从我们是怎么认为一个事发生的概率来说了,正常情况下你去银行贷款差不多都是一个符合你的数字吧,极小的情况下能出现类似迪哥的情况(100块都不给我),还是极小的情况下能像对待马云似的给你几个亿吧,所以银行给你贷款的误差项理论上都是在较小范围内浮动的,要么多了一点,要么少了一点。所以我们认为该误差是可以服从高斯分布的(正太分布)。
那为啥会独立呢?独立的意思就是说迪哥来贷款了,恰好马云也来了,但是我俩不认识啊(其实他认识我,我不认识他),所以我俩在贷款的时候不会因为马云而对我产生什么影响,也不会因为我对马云产生什么影响,这就是独立!
同分布又是啥呢?我和马云来的是一家银行吧,这家银行的系统只有一个,所以它在预测的时候是按照同样的方式来的,这就是我们的数据是在同一个分布下去建模的。
既然误差服从了高斯分布我们就把它进行展开,上式的意思就是我去贷款,在它这两组参数的控制下得到的贷款金额恰好是等于真实情况下就该给我这么多钱的概率。(预测值和真实值对应的可能性大小)那么我们当然希望这个概率越大越好呀,越大代表越准确呀。
(怎么又来了一堆数学。。。没人数学就不是机器学习啦)咱们继续来看,咋又突然出来了个似然函数呀,咱们先来说一说它是个什么东西。比如说你今天去赌场了,然后你不知道能不能赢钱,你就在门口蹲着,出来一个人你就问一下,哥们赢钱了吗(然后挨了一顿揍),连续出来5个人都告诉你赢钱了,那么你就会认为我去赌钱也肯定会赢钱。这个的意思就是要利用样本数据去估计你的参数应该是什么,使得估计出来的参数尽可能的满足(拟合)你的样本。
对数似然它的意思和目标很简单,就是为了简单求解,所以把比较复杂的乘法运算转换成了比较简单的加法运算。
一顿化简,其实就是把原式给展开了,然后我们的目标是要求最大值吧(什么样的参数能够使得跟我数据组合完之后是真实值的概率越大越好),对于化简后的结果左边是一个常数不用去管,右边是一个恒正的(因为有平方项)但是前面还有一个负号呀,让这样的数什么时候能取最大值呀?只有负号后面的取最小值才可以呀!
到这里我们终于推导出来了,银行只需要做一件事就可以了,那就是最小化这个函数(目标函数),其实说白了就是要让我们的预测值和真实值之间的差异越小越好,这就是最小二乘法!
接下来就是如何求解呢?通常我们去求偏导就可以了,因为极值点通常都是在偏导处取得,对我们的目标函数求偏导,并且让其等于0,这样我们就能找到最终参数的解应该是什么了!到这里小伙伴们可能感觉到竟然真能求出这个解,那这个解不就是我们想要的参数嘛,得到了它银行就有救啦!
至此我们通过了一系列的推导得出了线性回归的最终解法,但是这个解可以说是数学上的一个巧合,并不是所有问题都可以直接求解的,下回咱们再谈谈如何间接的求最优解~
‘捌’ 线性回归算法原理(越详细越好)
线性回归是利用数理统计中的回归分析,来确定两种或两种以上变数间相互依赖的定量关系的一种统计分析方法之一,运用十分广泛。
分析按照自变量和因变量之间的关系类型,可分为线性回归分析和非线性回归分析。
如果在回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。
我们以一简单数据组来说明什么是线性回归。假设有一组数据型态为y=y(x),其中
x={0,1,2,3,4,5},y={0,20,60,68,77,110}
如果我们要以一个最简单的方程式来近似这组数据,则非一阶的线性方程式莫属。先将这组数据绘图如下
图中的斜线是我们随意假设一阶线性方程式y=20x,用以代表这些数据的一个方程式。以下将上述绘图的MATLAB指令列出,并计算这个线性方程式的y值与原数据y值间误差平方的总合。
>>x=[012345];
>>y=[020606877110];
>>y1=20*x;%一阶线性方程式的y1值
>>sum_sq=sum(y-y1).^2);%误差平方总合为573
>>axis([-1,6,-20,120])
>>plot(x,y1,x,y,'o'),title('Linearestimate'),grid
如此任意的假设一个线性方程式并无根据,如果换成其它人来设定就可能采用不同的线性方程式;所以我们须要有比较精确方式决定理想的线性方程式。我们可以要求误差平方的总合为最小,做为决定理想的线性方程式的准则,这样的方法就称为最小平方误差(leastsquareserror)或是线性回归。MATLAB的polyfit函数提供了从一阶到高阶多项式的回归法,其语法为polyfit(x,y,n),其中x,y为输入数据组n为多项式的阶数,n=1就是一阶的线性回归法。polyfit函数所建立的多项式可以写成
从polyfit函数得到的输出值就是上述的各项系数,以一阶线性回归为例n=1,所以只有二个输出值。如果指令为coef=polyfit(x,y,n),则coef(1)=,coef(2)=,...,coef(n+1)=。注意上式对n阶的多项式会有n+1项的系数。我们来看以下的线性回归的示范:
>>x=[012345];
>>y=[020606877110];
>>coef=polyfit(x,y,1);%coef代表线性回归的二个输出值
>>a0=coef(1);a1=coef(2);
>>ybest=a0*x+a1;%由线性回归产生的一阶方程式
>>sum_sq=sum(y-ybest).^2);%误差平方总合为356.82
>>axis([-1,6,-20,120])
>>plot(x,ybest,x,y,'o'),title('Linearregressionestimate'),grid
[编辑本段]线性回归拟合方程
一般来说,线性回归都可以通过最小二乘法求出其方程,可以计算出对于y=bx+a的直线,其经验拟合方程如下:
‘玖’ MATLAB 对 不可控线性系统 PID控制参数 的整定
肯定可以,你这个是最简单的一个高阶线性系统。