走进机器学习

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

 作者简介本人是一名大二学生就读于人工智能专业学习过cc++javapythonMysql等编程知识现在致力于学习人工智能方面的知识感谢CSDN让我们相遇我也会致力于在这里分享自己的学习知识。

专栏简介本专栏作为深度学习的专栏注重于介绍神经网络强化学习等重要框架理论知识也会介绍一些算法少部分代码作为示例具体的代码学习会放在后面的神经网络学习专栏。旨在让大家认识神经网络强化学习深度学习人工智能之间的关系并利用这些知识解决生活中的一些问题。

学习目标

1、掌握深度学习背后的数学理论。

2、使用卷积神经网络和胶囊网络研究计算机视觉。

3、使用循环网络和注意力模型实现NLP任务。

4、探索认识强化学习深度学习。

5、了解探索深度学习在生活中的应用。

日常分享每天努力一点不为别的只是为了日后能够多一些选择选择舒心的日子选择自己喜欢的人

目录

 论述人工智能

机器学习概述

机器学习算法

监督学习

1.线性回归和逻辑回归

2.支持向量机

3.决策树

4.朴素贝叶斯

无监督学习

K-means

 强化学习

Q-learning

总结


 论述人工智能

人工智能的发展从二战后到今天经历了三次变革起起落落前两次兴起则是在20世纪而这第三次就是在2012年到现在相信很多小伙伴都已经了解过Chatpt了chatgpt的出世可以说是一次划时代有人说这是第四次半工业革命的开始所以人工智能的发展是非常必要的。那么什么叫作人工智能人工智能与深度学习机器学习神经网络之间的关系又是什么

这里我给出我画得思维导图这也是我对人工智能的理解人工智能并不是一个确切的概念所以可以和外界进行信息交互的都应该被称作人工智能上到神经交互下到语音交流等这些其实都可以理解为人工智能。我对人工智能的理解就是一个能够与环境进行交互的系统。

机器学习概述

机器学习通常与大数据和人工智能等术语联系在一起。但是吧这三者还是有很大的区别大数据可以说是利用了机器学习机器学习又需要大数据可以说他们两个也是组成人工智能重要的框架。

据说谷歌公司一天处理的数据就达到了20PB的容量这个数据是非常恐怖的并且这个数据还在不断的增加。根据IBM的估计每天都会茶ungjai创建2.5EB的数据而且这些数据都是两年前已经创建的。

对于这么多的数据如果是仅仅靠人类去分辨那可能是永远也分辨不完的于是机器学习也因此诞生机器学习顾名思义就是发现数据中存在的逻辑模式和规律。机器学习就像人类的大脑使机器能够通过分析传感器传回的数据从而做出一定响应。比如说摄像头的人物识别预警系统摄像头采集到的人物的面目信息传回到总体的系统然后经过特征提取信息比对判断是否为危险分子并对警报系统发布指令。那么如何发布正确的指令就需要对信息的准确的处理生成相应的指令。

上面说了机器学习那么深度学习又是什么其实你可以理解为深度学习是机器学习和神经网络的子领域但是又不完全是子领域可以说深度学习是为了更加的辅助机器学习而神经网络则也是如此。他们既是相辅相成的又是可以自己独当一面的。

机器学习算法

“机器学习”这个术语只是一种通用的方式称呼指的是用于从大型数据集合中推断模式的通用技术可以大致理解为是一种基于现有的数据对新数据进行预测的能力。机器学习算法大致可以分为以下几类

1、监督学习Supervised Learning。

2、无监督学习Unsupervised Learning。

3、强化学习Reinforcement Learning RL。

监督学习

监督学习算法是机器学习算法的一类他使用的是先前标记的数据学习特征从而对相似的未标记的数据进行分类。下面我给出一个例子就很好懂了

手机上的屏蔽大家应该都不陌生可以屏蔽消息视频等等那么是怎么做到屏蔽的喃其实就是根据一些标记进行分类。比如说垃圾邮件我们标记为0工作邮件标记为1家庭邮件标记为2亲戚邮件标记为3到时候只需要根据标记就可以进行分类但是这个分类是不需要我们进行分类的是你使用的软件进行分类。当然这也是一个非常复杂的事。也就是前面说的需要很多的数据进行训练生成一个准确的模型也就是在这种情况下神经网络深度学习才发展起来的。

1.线性回归和逻辑回归

回归算法Regression Algorithms)是一种监督性算法它使用输入数据的特征来预测值简单点来说就是找到最适合输入数据集的参数值。这样可能不太好理解我举个例子比如你有100元你知道水果的价格需要买水果最可能的买到多的水果我们该如何去分配就需要根据各种水果的价格来进行计算找到每种水果的最大购买量这样是不是就好理解了。

在线性回归算法中目标是通过最接近目标值的输入数据上为函数找到合适的参数以使代价函数Cost Function最小。代价函数是计算误差的函数用来度量真实值与预测值的差距。代价函数通常用均方误差MSE表示此处取期望值与预测结果只差的平方

假设有一个小区里面的房子需要卖出去你刚好需要买你有1000000元需要买一套房子不知道房子买多大多少个卧室。厕所厨房在哪个街区哪个区域假设卧室价格2000厕所价格1000厨房价格1500街区有10个区域划分为0~5那么它的价格为:

2000w_{1}+1000w_{2}+1500w_{3}+10w_{4}+5w_{5}=1000000.当然这得出的结果可能不是特别的完美这是需要很多的数据的比如你利用了1000栋房子计算出这几个参数值w_{i}使其达到最优解。

使用一些随机值初始化向量w

循环

        E=0                                                                     #用0初始化代价函数

           for 循环遍历训练集的每个个体样本目标对x_{i},t_{i}):

                 E+=((\sum w_{i}*t_{i}-t_{i})^{2})                             #t_{i}是房屋的实际价格

          MSE=E/样本总数                                               #均方误差

          基于MSE使用梯度下降法更新权重w

       知道MSE低于阈值

所以我们的目标就是得出最优的w解也就是获取最优参数生成模型后就可以直接使用了。后面介绍神经网络的时候会详细介绍如何进行训练。

除了线性回归还有一个就是逻辑回归这个和线性回归的区别就是最后的结果线性回归的出的结果是\sum x_{i}*w_{i}而逻辑回归最后得到的就是一个特殊的Logistic函数\sigma (\underset{x}{\rightarrow}*\underset{w}{\rightarrow}),他得出的结果可以理解为概率值范围为【0-1】比如说世界杯上我们知道了一个球员射门的位置结合以前他射门的位置的数据训练成一个数据集只需要输入此次的数值就可以得出此次射门进球的概率不考虑其他因素影响越接近1则发生的可能性越大。

逻辑回归不是一种分类算法但是也可以作为分类算法比如以0.5为判断值如果结果大于0.5则表示能踢进否则不能进。

2.支持向量机

支持向量机Support Vector MachineSVM是一种监督性机器学习算法主要用于分类。前面解释过的其实就是找到一个超平面将数据分割出来。

 就像上面的图片红色的点和蓝色的点是两种不同的类别我们的目的就是分割出来所以中间的平面就是分割面也叫做超平面超平面的概念就是高维空间中的平面例如一维空间中超平面是一个点二维空间中是一条线三维空间是一个面。当然在实际情况中两边的数据集是会出现交错的所以简单的平面是布恩那个做到准确的分类的就需要用到激活函数这个我在计算机视觉专栏中介绍过了。

除了使用激活函数对于一些非线性分类还可以使用其他的方法来进行实现引入软间隔Soft Margin或使用核技巧Kernel Trick。

软间隔的工作原理就是允许犯错也就是或它是允许一些数据分错类只要在规定的比例之类是可以接受的这种最简单但是对于一些非常精密的数据分类会存在很大的误差同时容易出现过拟合。

核技巧简单的来说就是改变维度二维空间内不能解决的就用三维解决这样二维中的不可线性分类为问题在三维中或许就可以进行分类。

3.决策树

最后再介绍一种监督性算法决策树Decision Tree决策树的创建是以树的原理进行创建由决策节点和叶节点组成决策节点对特定属性执行测试叶节点指示目标属性的值。

我们借用一个鸢尾花数据集来进行分析

经过这些年的发展决策树在两个大的方面做出了改进第一种是随机森岭Random Forest它是一种继承方法结合了多棵树的预测第二种是梯度提升机Gradient Boosting Machine他创建了多个顺序决策树每棵树都试图改善前一棵树的误差。因为这些改进决策树算法越来越被人们接受使用。 

4.朴素贝叶斯

朴素贝叶斯Naive Bayes不同于其他机器学习算法大多数机器学习技术都试图评估某个事件Y在给定条件X下的概率pY|X。

我们给出一个概念假设已知事件Y及其概率样本是X。朴素贝叶斯定理指出p(X|Y)=p(Y|X)p(X)/p(Y),其中p(X|Y)表示给定Y条件下X的概率这也就是朴素贝叶斯被称为生成方法Generative Approach的原因。下面我给出一个例子

假设有一种癌症这种癌症只影响老年人50岁以下的人中只有2%的人患这种癌症对50岁以下的人进行的测试只有3.9%的人呈阳性。问题是如果一项检查的癌症准确率达到98%当一个45岁的人进行检测结果成阳性那么此人患癌症的概率是多大。

p(癌症|检测=阳性)=0.98*0.02/0.039=0.50。

将此分类器称为朴素贝叶斯因为它假设不同事件的独立性以计算其概率。其实这个和概率论中的计算方式很相似。只不过是用来进行的一种实际应用。

无监督学习

无监督学习是机器学习算法中的第二类。它不需要预先标记数据而是让算法得出结论。在无监督学习中最常见的就是聚类是一种尝试将数据分离为子集的技术。

简单的来说就是把具有相似特征的数据放在一个组用一句名言“物以类聚”

 深度学习也使用的是无监督学习尽管与聚类不同。在自然语言处理Natural Langurage ProcessingNLP中使用无监督或半监督取决于询问的对象算法表示单词向量最常用的方法就是word2vec。

无监督学习的另一个有趣应用是生成模型Generative Model与判别模式不同它是使用一个特定领域的大量数据如图像或文本训练生成模型并且该模型将尝试生成与用于训练的数据相似的新数据。

K-means

K-means是一种聚类算法它将数据集的元素分组到k个不同的簇中名称中k的由来。

1、从特征空间中选取k个随机点称为质心Centroids代表k个簇的中心。

2、将数据集的每个样本即特征空间中的每个点指定给距离质心最近的簇。

3、对于每个簇通过取簇中所有点的平均值以重新计算新质心。

4、对于新质心重复2和3直到满足条件停止。

K-means 聚类_bbtfubin的博客-CSDN博客

 强化学习

强化学习是机器学习中的第三类。强化学习的使用非常多顾名思义强化学习就是让机器具有学习能力。根据目标选择每一步的行动或选择。在强化学习中代理采取行动从而改变环境状态。代理使用新状态和奖励确定下一步行动。例如举个例子几年前的“阿尔法狗”和围棋大师李世石进行比赛这里的阿尔法狗他其实用到的就是强化学习根据预测到的下棋位置选择最佳的下棋方式。

当然强化学习的应用还不仅仅如此比如像对抗游戏车辆自动驾驶股票投资等。强化学习是一个非常庞大的体系也算是机器学习中比较重要的一个分支。

Q-learning

Q-learningQ学习是一种偏策略的时序差分强化学习算法。Q-learning算法之所以叫做Q学习是因为其中用到了一个Q表就是用来存储所有行动的组合比如说象棋游戏最开始Q表是空的但是每走一步就会收录到Q表同时根据这些组合形成Q值Q值越大行动越有吸引力也就是说权值越高越有可能成为下一个行动的目标。

使用任意值初始化的Q表

对于每个状态序列

         观察初始状态s

         对于本状态序列的每一步

                    使用基于Q表的策略选择新行动a

                    观察奖励r并进入新状态s‘

                    使用贝尔曼方程更新Q表中的qsa

         直到本状态序列的终止状态

Q-learning算法会利用贝尔曼方程Bellman Equation在每个新行动后更新qsa。这里只是简单的介绍一下后面会详细介绍。

但是吧你们应该能发现Q学习中的Q表会随着行动越来越大读取速度就会越来越慢所以可以使用神经网络来替换Q表。比如说在Go、Dota2和Doom等游戏上发挥了很大的作用。

总结

本节的内容就介绍到这里了对于机器学习很多人都是似懂非懂这里我将机器学习中的一些基本知识进行了介绍后面会详细介绍如何去使用。下一节就是神经网络的学习了。欢迎留赞收藏。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: 机器学习