当前位置: 首页 > 编程日记 > 正文

还在苦恼机器学习和线性回归?这篇总结拿走不谢 | 原力计划

作者 | 听星的朗瑞
责编 | 王晓曼
出品 | CSDN博客
题图 | 东方IC

什么是机器学习?


机器学习是一种实现人工智能的方法,从数据中寻找规律、建立关系,根据建立的关系去解决问题,从数据中进行经验学习,实现自我优化与升级。

维基百科给出的定义:

  • 机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能

  • 机器学习是对能通过经验自动改进的计算机算法的研究

  • 机器学习是用数据或以往的经验,以此优化计算机程序的性能标准

一种经常引用的英文定义是:A computer program is said to learn from experience E with respectto some class of tasks T and performance measure P, if its performance at tasksin T, as measured by P, improves with experience E.

机器学习的应用场景

  • 数据挖掘

  • 计算机视觉

  • 自然语言处理

  • 证券分析

  • 股票涨跌预测

  • 电影票房预测

  • 医学诊断

  • 机器人

  • DNA测序

  • ……

与人工智能比较,我们可以看到人工智能的主要应用场景也都是机器学习的应用场景,这就印证了之前所说,机器学习是实现人工智能的主流方法

实现机器学习的基本框架

将训练数据输入到计算机,计算机自动求解数据关系,在新的数据上做出预测或给出建议。


机器学习的类别


监督式学习(Supervised Learning)

——训练数据包括正确的结果(标签-label)

对于监督式学习,我们在一开始给出的数据中就已经告诉计算机正确的结果标签:红色的圆对应类别1,蓝色的叉对应类别2,绿色的星对应类别3。根据该结果,监督式学习就会自动地找出数据的边界(图中虚线部分),以后计算机再得到新的数据,不知道其是圆,叉或者星时,就会根据其所在的位置,自动将其划分为对应的类别。

监督式学习包含

  • 线性回归

  • 逻辑回归

  • 决策树

  • 神经网络、卷积神经网络、循环神经网络

  • ……

无监督式学习(Unsupervised Learning)

——训练数据不包括正确的结果

对于无监督式学习,我们在一开始给出的数据中没有告诉计算机正确的结果标签,只是要求计算机将数据分成3类,这样处理数据时就找不出数据的边界,但是却能根据要求,将比较接近的数据划分为一类,最终将所有数据分为3类。当得到新的数据后,将根据其与3类数据的接近程度自动划分为其中一种。

无监督式学习包含

  • 聚类算法

半监督式学习(Semi-supervised Learning)

——训练数据包括少量正确的结果

对于半监督学习,给出的标签数据相对较少一些,但也能根据这些标签数据找到数据的边界,将新数据划分为其中一种。

强化学习(Reinforcement Learning)

——根据每次结果收获的奖惩进行学习,实现优化


举个例子,假设有个行走的机器人,它的前面有一面墙,直走的话会撞上去,机器人尝试不同的走法,如上图的行走策略,第一种通过了这面墙为GOOD,第二种撞上了这面墙为BAD。


编程时设立奖惩规则,通过+3分,失败-3分,规定机器人行走优化条件是分数越高越好,让程序自动寻找获得高分的方法。

学习方式的应用



什么是回归分析 (Regression Analysis) ?


回归分析是根据数据,确定两种或两种以上变量间相互依赖的定量关系。

函数表达式:


回归分析的种类:


下边将具体讲解线性回归技术。

线性回归介绍


回归分析中,变量与因变量存在线性关系。

函数表达式:y = ax + b

线性回归问题求解


建立模型的步骤:

1、确定P、A间的定量关系

2、根据关系预测合理价格

3、做出判断

将表中数据用散点图表示出来


具有线性关系,建立线性模型:y = ax + b

现在我们只需要找到合适的a和b,就能解决问题。

途径:假设x为变量,y为对应结果,y’为模型输出结果,目标变为:y’尽可能接近y,如下图(m为样本数)


因为后边要求导,为了约掉求导后得到的2m,这里除以2m,变为:


即为该模型的损失函数J,其值越小越好。

可以看出J的值是与a、b有关的,那如何找到这个极小值呢?

梯度下降法求解线性回归


可以用梯度下降法进行求解,梯度下降法是寻找极小值的一种方法,通过向函数上当前点对应梯度(或者是近似梯度)的规定步长距离点进行迭代搜索,直到在极小点收敛。


应用此方法求损失函数J的极小值时,首先创建临时变量temp_a和temp_b,然后重复计算直到收敛,此时a与b的值就是要寻求的值:

由此得到了线性模型的表达式:y = ax + b

将单因子变量x的值代入就能得到对应的因变量预测值,最后对预测结果做出判断。

原文链接:

https://blog.csdn.net/weixin_45092215/article/details/106033448

推荐阅读

  • 我佛了!用KNN实现验证码识别,又 Get 到一招!

  • 深度学习基础总结,无一句废话(附完整思维导图)

  • 程序员在家办公没显示屏,我被领导鄙视了

  • 华为 5G、阿里检测病毒算法、腾讯 AI 一分钟诊断,国内抗疫科技大阅兵!

  • 对不起,我把APP也给爬了

  • 超级账本Hyperledger Fabric中的Protobuf到底是什么?

  • 你点的每个“在看”,我都认真当成了AI

相关文章:

网页设计和用户界面设计

摘要:这是两个现在网页设计领域使用频率非常高的词。在大多数情况下,它们被相互替代。这个领域内外的很多人都认为这是两个意义基本一样的词。但是它们真的可以互相混淆么?这是两个现在网页设计领域使用频率非常高的词。在大多数情况下&#…

使用VisualStudio2010连接CodePlex进行代码管理

摘要:CodePlex是微软的开源工程网站,涉及诸多微软最新技术的开源工程,同时你也可以建立并向世界展示自己的开源工程。同SourceForge、GoogleCode相比CodePlex有其自身的优势,特别是对做.Net开发的朋友来说,由于CodePle…

计算程序运行时间(time_t, clock_t)

转载自:http://blog.chinaunix.net/uid-23208702-id-75182.html 计算程序运行时间(time_t, clock_t)-whyliyi-ChinaUnix博客 我们有时需要得到程序的运行时间,但我们也要知道,根本不可能精确测量某一个程序运行的确切…

又一年5.20,用Python助力程序员脱单大攻略(视频版)

作者 | 写代码的明哥来源 | Python编程时光(ID: Cool-Python)情人节年年有,但今年的 5.20 要比以往的更有意义。2020.05.20 ,爱你爱你我爱你,如果再卡个时间(13:14),那就是 爱你爱你…

pthred()多线程计算派

实验一:计算π问题描述实验提供了两种计算方法,一种使用积分方法,另一种采用随机数方法。本报告中采用积分方法。计算公式:程序流程图:(图1)函数流程图(图2)一组实验数据,计算规模:500,000,000性…

使用最小堆优化Dijkstra算法

OJ5.2很简单,使用priority_queue实现了最小堆竟然都过了OJ……每次遇到relax的问题时都简单粗暴地重新push进一个节点…… 然而正确的实现应该是下面这样的吧,关键在于swap堆中元素时使用pos数组存储改变位置后的编号为k的节点对应在堆中的位置。下面这种…

C语言编程技巧-signal(信号机制)

http://blog.sina.com.cn/s/blog_6a1837e90100v1vc.html

第一课:网络参考模型OSI

网络参考模型OSI(一):模型提出目的:开放系统互连。使各个厂商的设备可以很好的互连、互通、互操作。(二):各层功能(1):物理层:负责链路上bit流的传输。(bit流显著的特点是,不支持格式或者结构)。…

在线直播 | 是事实还是贩卖焦虑?IT行业也偏爱“小鲜肉”​

几年前曾看过这样一篇报道:Java 之父求职被嫌年纪大,硅谷公司现在喜欢“小鲜肉”,不爱“老古董”。Java之父 James Gosling 在 Facebook 上发表了他所遭遇的年龄歧视:我曾在面试的时候被 HR 告知,“通常我们不招你这种…

eclipse 代码中突然出现特殊字符

在写代码的时候,不知道点到了 eclipse 的哪个属性,代码中就出现了一些特殊字符,也不能删除。 请问,在 eclipse 中该怎么设置,才能将这些字符去掉。 如下图所示: 解决方法: 选择Window->Preferences->…

如何优化数据中心虚拟机布局

当前已经有很多组织将服务器虚拟化技术引入到生产中,这么做是有道理的,特别是在当前经济并不景气的情况下,因为服务器虚拟化技术可以在服务器硬件,机架空间,电力消耗和制冷方面为组织节省开支。   但为了实现服务器虚…

回归——同步更新github.io

回归 已经有好长时间没写博客了,可能我比较懒,不太乐于分享,我觉得这个是一个很不好的习惯。但我坚信:Sharing changes the world! 最近搭建了自己的个人独立博客,基于Github Pages的,所以打算以后同步更…

支持量子机器学习,王海峰发布最新百度飞桨全景图

出品 | AI科技大本营(ID:rgznai100)刚刚,WAVE SUMMIT 2020深度学习开发者峰会上,百度CTO王海峰开场即披露了一组飞桨数据:飞桨累计开发者数量已超过190万,服务企业数量达8.4万家,发布模型数量已…

NPOI读写Excel

1、整个Excel表格叫做工作表:WorkBook(工作薄),包含的叫页(工作表):Sheet;行:Row;单元格Cell。 2、NPOI是POI的C#版本,NPOI的行和列的index都是从…

我的vim捣鼓之路

2016-06-13 更新 绑定独立博客到域名rebootcat.com 2016-06-12 更新文中的几个链接错误,google search报错 前言 从大二的时候就开始接触Linux了,从而也接触了vi,对的,当时对这些还不太了解,不知道还有个vim,真的觉得…

代码写对了还挂了?程序媛小姐姐从 LRU Cache 带你看面试的本质

来源 | 码农田小齐责编 | Carol 前言在讲这道题之前,我想先聊聊「技术面试究竟是在考什么」这个问题。技术面试究竟在考什么在人人都知道刷题的今天,面试官也都知道大家会刷题准备面试,代码大家都会写,那面试为什么还在考这些题&…

广船国际股份有限公司OA项目

2003年的老案例: 背景 广船国际股份有限公司是由原中国船舶工业总公司属下国有企业广州造船厂在1993年改组、在上海和香港同期上市的股份有限公司,公司享有自营进出口权。 广船国际于2002年3月通过评标后选定采用iOffice.net信息管理平台作为信息化建设…

注册表----修改Win7登录界面

在进行操作前,需要准备好背景图片。对背景图片的要求有三点: (1)图片必须是JPG格式; (2)必须将图片命名为backgroundDefault; (3)图片的体积必须小于256KB。 按下【WinR】…

定义自己的rm command

rm 是一个很危险的命令,别人一直说,我并没有在意,直到有一天一个不小心,忘记当前目录的位置,手贱的使用了rm命令,结果花了半天也没有把那些重要资料给恢复过来。所以还是有必要给自己定义一个不那么危险的r…

出任 Twitter 独立董事,AI 女神李飞飞的传奇人生

作者 | 年素清责编 | 伍杏玲出品 | 程序人生(ID:coder_life) 近日,Twitter宣布任命斯坦福大学计算机科学教授、前谷歌副总裁李飞飞为董事会独立董事。李飞飞本人表示:“推特是科技连接世界的一个重要平台,…

apache ab压力测试

2019独角兽企业重金招聘Python工程师标准>>> ab的原理:ab命令会创建多个并发访问线程,模拟多个访问者同时对摸一个URL地址进行访问。它的测试目标是基于URL的,因此它既可以用来测试apache的负载压力,也可以测试nginx、…

我的个人博客搭建记录

6/13更新 绑定个人博客到域名 rebootcat.com 前言 本篇博客旨在备忘,并记录了自己折腾了3,4天后顺利搭建自己的个人博客过程中碰到的一部分问题。 搭建个人独立博客有很多种方法,我暂时采用的是基于github Pages的免费博客,博客框架采用he…

oracle中创建触发器

从csdn上面看到一个如何创建触发器的问题,感觉自己很有必要保存学习,特写下来:条件:现有A、B两张表A: 工号 姓名 密码 性别 年龄 。。。B: 工号 姓名 密码当对A表中的“密码”字段进行修改时,B表中的“密码…

量子计算与AI“双拳”出击,他们锁定38种潜在抗疫药物

作者 | Just出品 | AI科技大本营(ID:rgznai100)医药研发行业有一个“三个十”的说法,即一种药物的发现需要投入十年以上的时间,花费十多亿美元,最后获得10%的成功率。也就是说,医药研发需要花费很长时间&am…

Android官方开发文档Training系列课程中文版:OpenGL绘图之应用投影与相机视图

原文地址:http://android.xsoftlab.net/training/graphics/opengl/projection.html##transform 在OpenGL ES环境中,投影相机View可以将所绘制的图形模拟成现实中所看到的物理性状。这种物理模拟是通过改变对象的数字坐标实现的: 投影 - 这基于…

Python分析101位《创造营2020》小姐姐,谁才是你心中的颜值担当?

来源 | CDA 数据分析师责编 | Carol Show me data,用数据说话。今天我们聊一聊《创造营2020》各个小姐姐,点击下方视频,先睹为快: 最近可以追的综艺真是太多了,特别是女团选秀节目。之前我们刚聊过《青春有你2》&…

体验Remix——安卓电脑

第一次听说Android-X86 以前玩唱吧的时候接触过PC上的安卓模拟器,不过这个只是一个软件,效果毕竟不好,想要把电脑变成安卓手机,还差远了。 然后,前段时间一直纠结要不要换个手机,我现在的华为小6已经跟我…

重置 microsoft visual studio窗口

“工具”->“导入导出设置”—>“重置所有设置”,在这个向导中可以重置编译环境的!转载于:https://www.cnblogs.com/qiantuwuliang/archive/2011/05/31/2064825.html

排序算法总结之堆排序

一,堆排序介绍 堆是一个优先级队列,对于大顶堆而言,堆顶元素的权值最大。将 待排序的数组 建堆,然后不断地删除堆顶元素,就实现了排序。关于堆,参考:数据结构--堆的实现之深入分析 下面的堆排序…

Hessian通信案例(java)

个人博客: 戳我,戳我 前言 由于工作的原因,接触到了hessain,项目需要做hessain和xml之间的报文转换。但是对于hessian是个什么东西一头雾水。于是接下来的时间了解了hessain协议的序列化规则以及hessian协议进行通信的方式。这篇文章是在完成了这个模块…