毕业设计(论文):机器学习之逻辑斯蒂回归模型及应用研究_第1页
毕业设计(论文):机器学习之逻辑斯蒂回归模型及应用研究_第2页
毕业设计(论文):机器学习之逻辑斯蒂回归模型及应用研究_第3页
毕业设计(论文):机器学习之逻辑斯蒂回归模型及应用研究_第4页
毕业设计(论文):机器学习之逻辑斯蒂回归模型及应用研究_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科毕业设计(论文)课题名称:机器学习之逻辑斯蒂回归模型及应用研究专业:信息与计算科学姓名:学号:指导教师:数理学院年月本科毕业设计(论文)第一章绪论本章主要介绍本课题的研究目的和意义以及机器学习国内外现状。1.1课题研究的目的与意义机器学习是人工智能的中心,也是让计算机系统拥有智能的唯一路径,目前机器学习已经应用在生活中的各个领域,机器学习这些发展迅速,前景很好,机器学习之逻辑斯蒂回归模型主要解决弱二分类问题,现实的社会,我们会面临许许多多的分类,划分到正确的类别至关重要。本课题主要研究机器学习之逻辑斯蒂回归模型以及应用研究,掌握机器学习基本知识,理解逻辑斯蒂回归模型的实现思路,并且能够深入应用,研究它,并充分的利用它,对于机器学习的发展有很大的意义。1.2国内外现状机器学习在我国已经得到广泛的关注,并且也取得了优秀的成果,但是主要集中在数据挖掘层次,纯粹的机器学习研究者相对较少,主要的理论知识,学习方法等基础部分没有得到充分的重视,不过就目前来说,国内已经有北京大学,复旦大学等依靠雄厚的统计学实力,都已经建立起数据科学专业和大数据研究院,以及一些知名的互联网公司以及研究机构,也纷纷投入到机器学习的研究中,代表的有百度的BML和MSRA(微软亚洲研究院)。对于国外来说,首先国外机器学习起步早,而且众所周知国外的研究氛围是明显优于国内的,所以在机器学习这块的研究也是大大的领先国内,国外机器学习主要包括研究算法,用数据建立模型,然后再进行数据驱动的决策或者预测,像Google,Facebook,雅虎,亚马逊等一些非常优秀的技术公司,利用机器学习让他们的研究产品和应用程序更加智能。第二章机器学习基本知识本章节主要介绍机器学习的一些基本知识,主要有机器学习的定义,机器学习的主要策略,机器学习的几大组成部分以及其学习的相关分类。2.1机器学习的定义机器学习中的“机器”一般指计算机系统。“学习”通常指的是一种学习过程。由此“机器学习”就是指机器自己学习的过程[1]。兰利认为“机器学习是一门人工智能的科学,主要研究对象就是人工智能,尤其是机器如何通过经验学习中改善具体算法的性能”[2]。米切尔认为机器学习就是计算机程序随着经验积累自动提高系统自身的性能[3]。2.2主要策略研究机器学习的人们都很清楚机械学习、类比学习、通过事例学习以及通过传授学习这四个类别是机器学习常采用的机器学习策略[4]。2.3基本结构机器学习的学习部分会利用环境提供的一些信息来修改和完善自己的知识库,通过不断地修改和完善来增强机器学习系统的执行部分的能力,并且执行部分还能够在完成任务的同时,将一些有用的信息再次反馈给机器学习系统的学习部分,达到良性的循环完善[5]。环境向机器学习系统提供的信息至关重要,它是影响机器学习系统的第一因素。由于环境向机器学习系统提供的信息是互不相同的,所以有时候知识库里已经存在的执行部分的一般性原则世界决不了的,这样就需要系统就需要在不断地学习过程中完善自己,但是环境提供的信息质量高的话,系统的执行部分就可以以很小的误差来完成认为[8]。知识库是影响机器学习系统的另一个因素。知识说起来很广泛,它有很多表现形式像特征向量、产生式规则、一阶逻辑语句、框架和语义网络等等。由于表现形式各不相同,它们也拥有各自的特点,所以选在表现形式的时候可以参考以下几点,良好表达能力,知识库易修改,表现方式好,容易推理[9]。机器学习系统的核心部分就是执行部分,整个学习系统最核心的就是在学习,即在执行的同时能将自身的不足点改进和完善,所以执行部分的动作是一切的核心所在。执行部分相关的三个特性复杂性,透明性和反馈性我就不介绍了[10]。2.4机器学习分类2.4.1监督学习监督学习,指的是对机器学习的过程提供错误提示。做法是将最终结果以0,1形式添加到数组局中。然后通过一些算法让机器自我缩减误差[11]。2.4.2非监督学习非监督学习又称归纳性学习(clustering)利用K方式(Kmeans),建立中心(centriole),通过循环和递减运算(iteration&descent)来减小误差,来达到分类的目的[12]。2.4小结现在机器学习,在国内的发展很是火热,学习氛围也很好,并且取得很不错的成果,在生活中应用领域也很多,在现在这个大数据时代,机器学习对数据处理拥有特别优秀的性能,所以很多领域用处特别广。我们主要研究的机器学习之逻辑斯蒂回归模型主要解决的是softbinaryclassification问题,首先它是一种典型的回归模型,在国内也应用于许多领域,诸如金融,医学,建筑等等领域,并且在大数据时代,在这个数据挖掘兴起的时代,无噪声数据,即noiselessdata,对于建立模型来说是非常重要的,会建立出高准确率的模型,那么实际中的应用将会取得更加优秀的表现,,然而因为性质缘由,主要是用于解决二分类问题的,并且在解决二分类问题上拥有不错的表现,无论是在算法设计上,还是在验证的准确率上都占有一定的优势。下一章,我们就主要研究机器学习中逻辑斯蒂回归模型具体的设计流程以及算法计算过程和求解的思路及想法。第三章机器学习之逻辑斯蒂回归本章主要介绍下逻辑斯蒂回归模型在机器学习中的应用原理,以及机器学习中逻辑斯蒂回归的设计思路和求解方法。3.1逻辑斯蒂逻辑斯蒂回归模型主要解决二分类问题,它的主要思想是采用最大似然估计法[6],在机器学习过程中,用数据训练出逻辑回归模型后,它的求解的算法主要是梯度下降法和牛顿法[7]。3.2学习流程3.2.1目标问题医院病人的数据,我们来判断发病的可能性,yesorno然而现实还有其他情况,同样的数据,结果是想知道一个月或者两个月发病的可能性(0到1区间值),我们称之为软性资料分类问题;表3.SEQ表\*ARABIC\s11病人数据Age40yearsGenderMaleBloodpressure130/85Cholesterollevel240Weight70图3.SEQ图\*ARABIC\s11LearnFloor通过表3.1和图3.1,我们有一个不知道的目标函数P(y|x),它包含了f(x)和noise,环境提供的数据信息,我们设计一个hypothesis,加入到learningalgorithm,当然还包括errormeasure(错误测量),最后找到一个好的hypothesis,直到,结束,由于我们需要的结果是病人是否发病,这是一个二分类问题,所以y的值只有两种1或者0,所以目标函数:下阶段目标:所以我们需要做的就是怎么找出一个好的hypothesis和targetfunction很接近[13]。首先,我们研究下机器学习所需要的数据资料部分:Ideal(noiseless)data这个基本上是理想的资料,每对应一个x都有一个P概率值,即对于发病或者不发病都会有一个概率值在0~1之间,这样就直接有结果了:actual(noisy)data这个是现实中的资料,我们医院中对于每一个病人的资料中是没有发病的概率是0.2,0.5,0.9等等,只有发病(1代表)或者不发病(0代表):一般来说,我们手上有的只是现实中的这种资料,所以不能直接得出我们想要的:targetfunction于是我们就进入第二部分——需要重新去定义logisticshypothesis。图3.SEQ图\*ARABIC\s12θ(s)公式图第一步:对于每个病人,我们都有一系列的features,每个病人都不一样的,即(),然后通过公式,w加权之后,我们来算出一个分数s,然而我们需要的不仅仅是这个分数,这是linearregression处理问题需要做的事件,而我们有兴趣的是找到一个0~1之间的值,我们可以想象下,分数越高,就是心脏病二次发作的可能性越大,分数越低,就是心脏病二次发作可能性越小;第二步:通过计算,得到分数s,目标是把s通过算法变成0到1之间的值,一个方法是用一个像上面这样的一个s型的函数,图3.2中的线形图,也就是我们研究的逻辑斯蒂回归模型,每一个分数s的值,都有一个对应的在0~1之间的值,就是我们需要知道的概率值,我们把它叫做logisticfunction,所以我的想要的Logistichypothesis:这个逻辑斯蒂function,曲线图见图3.2,具体就是下面式子:我们可以简单的验证下这个function)然后这个function配合W,以及,得到logistichypothesis:最后我们的逻辑回归要做的就是,用这个逻辑斯蒂函数,以及w求分数这块,来想方法接近我们的目标函数——[14]。3.2.2逻辑回归误差函数设计Logisticregression和linearregression以及linearclassification的共同点:1.这三种都是用来研究机器学习算法关于分类问题的;2.大家都需要w和x混在一起算一个分数s,公式。下面是线性分类和线性回归以及逻辑回顾三种模型的对比,我们的目的是要求解出这个errorfunction。1.Linearclassification图3.SEQ图\*ARABIC\s13linearclassification示意图线性分类算法,计算完分数,我们取这个分数是大于0还是小于0,来做classification的动作,所以最简单的err就是0/12.Linearregression图3.SEQ图\*ARABIC\s14linearregression示意图线性回归算法,算完分数后,就直接输出这个分数s,我们用的err是squared.3.Logisticregression图3.SEQ图\*ARABIC\s15logisticregression示意图逻辑斯蒂回归算法,算完分数后,它要通过一个s型的logistic函数来做输出的动作,那么它的errfunction什么样子呢,我们又要怎么defineforlogisticregression?要回答怎样设计出逻辑回归误差函数这样的问题,首先咱们有一个目标P,然而我们还不知道真正的结果P,所以当设计的目标P和真正的目标P是一样的时候,有一种特殊的方法来定义逻辑回归误差函数[15]。由于我们的目标函数:本身存在的特性,即发病和不发病的概率和是1,所以有以下特征:即:下面我们来分析,对于y分析,当y取值为+1时,P(y|x)=f(x);当y取值为-1时,P(y|x)=1-f(x)。逻辑斯蒂回归模型对因变量数据假设要求不高,假如我们有一组数据即:根据上述的分析的式子,P的值收到f的影响,两者之间密不可分,我们是可以把P(x)换成f(x)即:然而我们是不知道f(x),我们只是想要知道h,那么我们可以假装h就是f,则结果为:接着,这里我们新增一个变量likelihood,它表示的是我们假装的h会产生和f一模一样的可能性大小。IfThenlikelihoodprobabilityusingfProbabilityusingfusuallylargeLikelihood(h)(probabilityusingf)largeg=likelihood(h)首先通常情况下,f产生真正资料的可能性是很大的,那么h产生资料的可能性大小和f真正产生资料的可能心大小应该就很接近的,所以h和f是很接近的。然后我们想要的g就是从所有的h中去一个可能性最高的h来当做我们的g,就是我们机器学习从数据资料中所学习出来的结果。由于logistic的特性,s型曲线,存在斜对称性,并且,所以存在如果是这样的话,我们可以把原来h即可能性写成下面的样子:注:这里的到P()都是一样的,因为,我们在衡量可能性,所以所有的h用的都是同样的到,那么对于这样的h来说,它们的值是相同的。最后,Likelihood(logistich)我们需要做的的事情就是从所有的h中找一个h,使得这个可能性likelihood是最高的。就是找一个maxlikelihood(logistich)即:这里是练乘,从算法上改成连加好点,取个log,一番处理,得到:带入最后我们得到logisticregressionerrorfunction:3.2.3逻辑回归误差函数求解接下来就开始求解,就是找一个w,让最小,图3.SEQ图\*ARABIC\s16▽Εin(w)曲线图第一步,就是把梯度算出来;下面开始求解:梯度的样子,我们已经求出来了,然后我们想要的结果是:既然梯度是用来对,做一个加权平均的话,那么我们想要梯度的值是0,就需要所有的的值都是0才行,要使得所有的,只有一种情况就是>>0,这个的前提就是所有的都是同号的,那就需要所有的w取正,那就是只有在线性可分,可是现在不是线性可分,所有肯定会存在一个w和y相乘小于0,所以就不会以这样的方法求出这个梯度,我们现在的不是一个线性方程,所以不能一步求解,所以我们要去PLA里面,PLA部分所做的就是,一步一步的探索,纠正错误,再探索,再纠正的一个循环过程,就是从某一个w出发,然后再想办法修正这个w.每次勘探这个w在哪里犯的错误,然后对这个错误进行修正,最后当整个循环过程停止时,把最后的w作为结果g返回。Fort=0,1,...findamistakeofcalled(Tryto)correctthemistakeby

Whenstop,returnlastwasg对于这个过程,有一个简化的步骤,就是随便去一个点,然后这个点有两种情形,一种是对的,一种是错的,如果是错的就加上,如果是对的就加上前面的一项是0的项,简答说就是不做处理。(equivalently)picksomen,andupdatebyWhenstopreturnlastwasg这里更新的式子里面有两样东西,第一样,v就是我们跟新的向量是多少,也代表了我们更新的方向,在PLA中,有错的话,表示就是更新错误的方向,没错的话,就是等同于不做处理。第二样,就是我偷偷塞进来的一个常量,这个常量就是表示我们走了多大的步

有了,就有不同的纠错方向,和走不同大小的步子,大体思路就是决定方向,走一步,再决定方向,再走一步,这样的演算法我们叫Iterativeoptimization。图3.SEQ图\*ARABIC\s17IterativeOptimization曲线图Fort=0,1Whenstop,returnlastwasgLinearapproximationAgreedyapproachforsomegiven>0:现在任然是一个非线性的公式,不好求解,所以我们想办法变成线性的式子,每一条弯弯曲曲的曲线,如果我们只看一小段的话,看起来是跟线段是一样的,在数学来说,我们可以把这个函数,在它的周围一小段线段的地方,用一个小的线段来表示。如果够小的话,这里用到一维的泰勒展开,得到下面公式;

GradientdescentAnapproximategreedyapproachforsomegivensmall:这里我们想要得到最小的,又因为一个是已知项,一个是给予设定值项(givenpositive),所以想得到两个向量的乘积的最小值,就需要两个向量方向相反,因此:·optimalv:oppositedirectionof带入我们这个最好的v,就得到我们理想的更新,就是往梯度的反方向进行更新,·gradientdescent:forsmall,原本我们的是原先设定好的,现在需要确定什么样的值最好,见图3.8可能好理解一点,就是下降梯度,太小太大都不好,适中的才好的,由图3.8中可以看出,值固定并不好,应该是坡度是正相关的,图3.SEQ图\*ARABIC\s18梯度下降η值选择betterbemonotonicof我们可以简化一点,因为和是成比例的关系,这也是我们需要的,所以我们把看成,看下面的式子:注:这里的是一个新的,在机器学习里称之为学习的速度,最后得出:最后分为两步:computeupdatebyUntilorenoughiterationsReturnlastasg注:数值上来说要得到0是很困难的,实际上达到很接近谷底或接近0就可以了,最后返回第t+1个w作为我们g。第四章建立模型及其测试和验证本章主要是我们的实验内容,具体实验内容包括导入训练数据,测试数据,通过训练数据建立模型,通过测试数据测试模型以及用交叉验证检验算法的准确率同时和其他相似算法对比。4.1数据导入准备和导入工作我从互联网上找到一份关于病人心脏病二次发作概率的机器学习的训练数据和测试数据,即下文中将用到的RapidMiner.逻辑回归_Training和RapidMiner.逻辑回归_Scoring;图4.SEQ图\*ARABIC\s11导入数据第一步:在左下角的Repository中,点击AddData,这是开始选择数据,见图4.1;第二步:随后会出现一个弹框,这里有两个选项,一个是MyComputer和Database,点击MyComputer,从本地电脑中选择么数据(一般是Excel表格数据),Database是软件存储的数据库,见图4.1;图4.SEQ图\*ARABIC\s12导入数据完成第三步:随后一直点击next,中间有些设置的地方,有需要的可以设置,有的也可以在后面的设计中设置,直到最后Finish,完成数据库的导入工作,见图4.2;图4.SEQ图\*ARABIC\s13数据所在位置最后输入我们给这组数据定义的名称,点击完成,在LocalRepository的data中就能看到我们导入的数据集了,见图4.3。4.2建立逻辑斯蒂回归模型本小节我们将用到前一小节导入的训练数据——Rapidminer.逻辑回归_Training来建立模型以及对逻辑斯蒂回归模型进行分析。图4.SEQ图\*ARABIC\s14初次建立模型第一步:在左下角LocalRepository的data中导入训练数据集——RapidMiner.逻辑回归_Training,导入数据见4.1节;第二步:在左侧的Operators选择SetRole,拖入到Process中,点击SetRole模块在右侧的Parameters中,为训练数据设置目标结果项,attributename选择2nd_Heart_Attack,targetrole选择为label,见图4.4;第三步:在左侧的Operators选择LogisticRegression,然后导入LogisticRegression模型到Process中,见图4.4;第四步:连接好每个模块,点击运行按钮,生成模型。下面是得到的模型的描述(Description)见图4.5:图4.SEQ图\*ARABIC\s15LogisticRegressionDescription首先模型指标类型是二项式GML,后面是模型的编号,然后是几个重要的模型参数军方误差MSE:0.067899734,R^2:0.728344,ROC曲线下的区域AUC:0.95735294,logloss损失函数:0.24539642;后面是训练数据误差分析,yes的有1个误差项,no的有6个,误差总比例7/138;这个还是很小的,最主要的就是后面的增益表,主要是以下项:组,累积数据分数,下限阈值,提升,累积提升,响应率,累积响应率,捕获率,累积捕获率,增益,累积增益,通过这些数据可以看出,分为16组,在不断的学习中,累计收益,累计捕获率和累计响应率最后变成0,其他的值也达到终点。下面是得到的模型的关于输入项的数值(data)见图4.6:图4.SEQ图\*ARABIC\s16LogisticRegressiondata有7个输入信息项,他们分别表示年龄,婚姻状态,性别,体重等级,胆固醇水平,是否参加过压力控制课程,应对自然压力水平,具体数值表示的这些因素对于病人心脏斌二次发作概率的影响。4.3测试逻辑斯蒂回归模型本小节我们将用到前一小节导入的训练数据——Rapidminer.逻辑回归_Scoring来测试刚建立的逻辑斯蒂回归模型。图4.SEQ图\*ARABIC\s17LogisticRegression测试数据第一步:在左下角LocalRepository的data中导入训练数据集——RapidMiner.逻辑回归_Scoring,导入数据见4.1节;第二步:在左侧的Operators选择ApplyModel,拖入到Process中,然后把数据集的out出口连接到ApplyModel模块的unl输入端,见图4.7;第三步:连接好每个模块,点击运行按钮,得到测试数据的结果,见图4.8。图4.SEQ图\*ARABIC\s18LogisticRegression测试数据结果4.4几种算法的交叉验证本小节做了logisticregression,linearregression和SupperVectorMachine的交叉验证实验,对比实验结果,图4.SEQ图\*ARABIC\s19交叉验证初始化第一步:在左下角LocalRepository的data中导入训练数据集——RapidMiner.逻辑回归_Training,导入数据见4.1节;第二步:在左侧的Operators中,我们选择SetRole,拖入到Process中,点击SetRole模块在右侧的Parameters中,为训练数据设置目标结果项,attributename选择2nd_Heart_Attack,targetrole选择为label,见图4.9;第三步:在左侧的Operators中,我们选择CrossValidation并把它拖入到Process中,链接CrossValidation(交叉验证模块),然后链接输出(见图4.9)。第四步:点击运行按钮,进入交叉验证的Design部分;图4.SEQ图\*ARABIC\s110交叉验证logisticregression第五步:左边从左侧的Operators选择需要验证的算法模块,然后导入,算法主要有LogisticRegression,LinearRegression,SVM(见图4.10)[13];第六步:右边从左侧的Operators中选择我们的ApplyModel和Performance,然后导入,链接Performance(这里选择Classification类型的,因为我们做的的分类这块的研究),见图4.10;第七步:连接好每个模块,点击上方运行按钮,得到验证的结果分析,见图4.10。图4.SEQ图\*ARABIC\s111LogisticRegression交叉验证结果下面是是我们用LinearRegression和SupperVectorMachine做交叉验证,再和我们主要研究的LogisticRegression对比;下面我直接给出交叉验证的第二步设计以及验证结果。Linearregression交叉验证设计第二部分:图4.SEQ图\*ARABIC\s112交叉验证linearregressionLinearregression交叉验证结果:图4.SEQ图\*ARABIC\s113LinearRegression交叉验证结果SupperVectorMachine交叉验证设计第二部分:图4.SEQ图\*ARABIC\s114交叉验证SupperVectorMachineSupperVectorMachine交叉验证结果:图4.SEQ图\*ARABIC\s115SupperVectorMachine交叉验证结果第五章结果分析本章节主要分析下本文做的实验的结果,通过对实验结果数据的分析,我们得到逻辑斯蒂回归模型在处理二分类问题上拥有优异的处理性能,而且相比较相似的算法准去率更高。5.1通过建立出来的模型的数据显示图5.SEQ图\*ARABIC\s11LogisticRegression模型数据上图中的数据是我们建立的模型分析得出输入的环境因素(age,Marital_Status,Gender,Weight_Category,Cholesterol,Stress_Management,Trait_Anxiety,Intercept)对输出项的影响权重值,就是我们输入的值,对于输出值2nd_Heart_Attack的影响大小。从上图中实验数据,还有上述建立模型后的结果,简单分析下,Marital_Status,Weight_Category即病人的婚姻状态和人员的体重对心脏病的二次发作影响比较大,然后病人的年龄,性别,是否参与压力控制课程,及自然压力水平和应压能力即Age,Gender,Stress_Management和Trait_Anxiety的值比较小,说明它们对于心脏病二次发作的可能性影响比较低,权重的值有正负之分,意思是对结果的影响有起到正作用和负作用,最后面的intercept不是环境因素,它是截距。5.2测试结果分析图5.SEQ图\*ARABIC\s12LogisticRegression测试结果数据第一例是序号列,第二例,淡绿色的那一列就是输出项生成的目标结果,表示的是心脏病是否会再次发作,后面的两列黄色的是通过模型的出的发病的概率。通过用训练数据——RapidMiner.逻辑回归_Training来建立模型,并且用测试数据——RapidMiner.逻辑回归_Scoring来测试我们建立的模型来看,我们的模型准确性很高,我们可以直接看到测试数据产生的结果,我们可以观察这些数据,一般婚姻状态差(3表示丧偶),体重超标,胆固醇值比较高的,一般结果都为yes(可能发生心脏病二次发作),这使得我们对这个测试结果是表示信服的。5.3逻辑斯蒂回归模型及其他模型算法的交叉验证对比accuracy:94.23%+/-4.35%(mikro:94.20%)表5.1LogisticRegressionTrueyesTruenoClassprecisionpred.Yes67790.54%pred.No16398.44%Classrecall98.53%90.00%accuracy:89.84%+/-5.50%(mikro:89.50%)表5.2LinearRegressionTrueyesTruenoClassprecisionpred.Yes61789.71%pred.No76390.00%Classrecall89.71%90.00%accuracy:85.98%+/-2.82%(mikro:85.95%)表5.3SupperVectorMachineTrueyesTruenoClassprecisionpred.Yes56690.32%pred.No126484.21%Classrecall82.35%91.43%通过第5章实验数据——表5.1-5.3来看,我们对这几个模型进行了交叉验证测试,然后通过数据结果的对比,结果如下:LogisticRegression的结果:accuracy:94.23%+/-4.35%(mikro:94.20%);LinearRegression的结果:accuracy:89.84%+/-5.50%(mikro:89.50%);SupperVectorMachine的结果:accuracy:85.98%+/-2.82%(mikro:85.95%);观察上述表格数据结果,Trueyes表示的正确的数据,Trueno表示不正确的数据,classprecision表示类精度,通过数据的对比,可以很明显的看出来LogisticRegression的准确率要明显高于Linearregression和SupperVectorMachine,所以对于分类的问题,LogisticRegression的优势还是明显大于LinearRegression和SupperVectorMachine,这就说明对于解决分类这块的问题,逻辑斯蒂回归模型模型的算法设计是明显优于线性回归算法和SupperVectorMachine算法的。第六章总结和展望6.1总结通过对机器学习之逻辑斯蒂回归模型及应用研究的学习,对于机器学习的学习部分的结构,机器学习的分类,以及对机器学习的常用算法,如回归算法,分类算法等的了解,本文用Rapidminer软件做了一系列的实验来学习和研究我们的机器学习之逻辑斯蒂回归模型及应用研究。对于实验的理论知识部分,本文分析逻辑斯蒂回归的特性,再加上机器学习的学习力流程设计出LogisticHypothesis,再结合逻辑斯蒂回归模型分析出逻辑回归误差函数,然后我们通过梯度下降法求解逻辑回归误差函数,最后得出g。下面是实验部分,对于整个机器学习之逻辑斯蒂回归模型及应用研究的实验,我个人将其分成两大部分。第一部分——机器学习之逻辑斯蒂回归模型的建立和测试,首先本文通过网络资源寻找合适的数据集来做我们的实验的data,其次通过Rapidminer,我们需要把数据先导入到我们的软件存储数据的DB(数据库)中,然后将数据导入到模型建立设计中,再选择SetRole即为数据集设置输出项以及输出项的数据类型,然后在软件Rapidminer提供的算法中寻找逻辑斯蒂回归即logisticregression拖入到设计模块中,然后连接好模块,点击运行按钮,软件自动生成模型,接下来就是对于建立的模型进行测试,我们需要从数据库(DB)中导入我们的测试数据,链接好到模型,点击运行按钮,即可得知数据测试的结果。第二部分——逻辑斯蒂回归算法和其他相似算法交叉验证对比,本实验部分主要研究逻辑斯蒂回归算法在处理分类问题上是的优缺点同相似算法比较,实验部分首先还是一样,导入数据库(DB)中的训练数据,然后设置好输出项,以及其数据类型,选择交叉验证模块导入,设计模块中链接好各模块后,点击运行按钮,进入交叉验证的第二步,第二步分为左右两侧,左侧是选择我们需要验证的算法,右侧是应用算法,并且通过performance显示输出的验证结果。通过整个机器学习及逻辑斯蒂回归模型及应用研究的学习和研究过程,本文实验部分得出的结果展示出,逻辑斯蒂回归对于解决二分类问题准确率的确要高于类似的解决分类的算法,例如线性回归等,并且相比较其他的算法,逻辑斯蒂回归算法的求解思路也是误差较小的,机器学习对于逻辑斯蒂回归的logistichypothesis的设计也是很准确的把握逻辑斯蒂回归的特性,逻辑斯蒂回归是一条s型的曲线,有一定的对称性,根据逻辑斯蒂回归设计的hypothesis的长相是更加符合机器学习模型的设计的,所以综合来说机器学习之逻辑斯蒂回归模型对于处理softbinaryclassification问题的确在目前的研究领域来说处于最优地位。6.2展望本课题研究机器学习之逻辑斯蒂回归及应用研究,虽然对理论基础知识做了理性的分析,以及从网上查找了合适的数据集来做实验,通过一系列的实验研究,数据分析,取得了一定的成果,但是在逻辑斯蒂回归模型原理,数据算法还是有待研究的,逻辑回归的算法还是存在一点小瑕疵,我们最后的结果是取得一个接近0的点,但是存在误差范围,本文做的实验,实验部分基本是没有问题的,想验证逻辑斯蒂回归算法是否是最适合处理softbinaryclassification问题,我们还是需要大量的数据和实验结果来验证,所以想要验证逻辑斯蒂回归模型的优异性,还是欠缺大量实验数据来做比证。接下来我们还可以逻辑回归的算法,还可以在研究下,怎么优化模型,减小误

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论