机器学习入门:概念原理及常用算法

简介: 机器学习入门:概念原理及常用算法

一:机器学习概念、原理和应用场景


1.1机器学习的基础概念


人工智能、机器学习、深度学习

人工智能从1950年兴起,1980年机器学习开始繁荣,2010年深度学习黑科技开始兴起,人工智能包含机器学习,机器学习包含深度学习,互相包含的关系。


20709e1c842a4dffbe6d892c0e100528.png


什么是人工智能?

经典的定义希望它能够像人一样思考,做事情,甚至是像人一样去推理,做一些更智能的事情,图灵测试,认知科学,老科学等。


b73767e571bb4c2b8c2f5de20e3a1c27.png


如上图所示,几个常用的领域,有推理,机器人,机器学习,知识,数据挖掘,自然语言处理,视觉领域,这样区分不是指这几个有严格的界限,只是非常粗糙的区别,人工智能的目标使得有这样的计算机像人一样智能的去做一些事情,总体的目标。


80fa44b37ccd40b6acdf0913fd2a8f5f.png


从实用主义的角度来看,跟学习相关,跟搜索,编程,planning,模型,社交,信息分类等,在背后指的都是机器学习。

什么是机器学习?

定义其实就是一类的计算方法,通过使用经验去改进性能,它经验主要是数据驱动的一些经验,通过从数据里面得到这些经验,跟数据相关的无非就是这样几个学科,一个是统计概率,还有优化理论通过这样几个理论结合数据让机器去学习,同时跟经验相关的还有包括计算机科学里面相关的,比如优化理论里面很多一个具体学习的算法,有这些算法就会有复杂度的分析,这个是跟计算机学科息息相关的。比如使用一个文档里面它的词的一个视频的技术去预测它大概是属于什么样的一个 topic ,比如一篇文章它到底是属于科技类的,娱乐类的还是别的一个类型的。


62e97f4d4e1f4339bc74eaafd7b3cdd1.png


机器学习被认为是一种方式,这种方式使得计算机能够按照它们自己的逻辑去做一些事情,比如给它一个三角形,告诉它这是个三角形,这个机器从此之后就认识这个东西就是三角形。通常的方法就是通过从数据里面去学,给它大量的例子,告诉它说不同形状的这些东西都是三角形,然后在某个瞬间它再看到一个三条边的一个形状的时候,它可能就会知道这个东西三角形,通过从这样一个数据里面,通过一定的算法来学到这个东西是三角形,这样的一个经验,或者是这样的一个知识。


当人们看到一张黑熊的照片,能够一眼分辨出来这个肯定是黑熊,因为人们在前面已经看见了大量的黑熊这样的知识,但是如果给的都是一些侧面的照片,人们也能知道它是黑熊,因为人可以从鼻子颜色清楚的知道它就是黑熊,基于学习希望机器也能够跟人的学习方式一样去让这个机器去学习,最终目标甚至都没有办法去区分在面前的到底是一个人还是一个机器。


1.2机器学习的领域


机器学习的领域

1、 Classification: assign a category to each item(e.g, document classification).

分类是分到一个具体的目录里面,把文档分为娱乐、科技、体育等等。

2、Regression: predict a real value for each item(prediction of stock values, economic variables).


违规是预测出一个实数的值比如股票预测股价,经济预测经济的增长速度,具体的值。


3、Ranking: order items according to some criterion(relevant web pages returned by a search engine).


排序是通过某一种标准去排序,比如搜索引擎里面,给它一个搜索目标,返回一系列排好序的结果。


4、Clustering: partition data into 'homogeneous’regions(analysis of very large data sets).


聚类,物以类聚,通过对一个数据的分析,把它分成几个大的区域。


5、Dimensionality reduction:find lower-dimensional manifold preserving some properties of the data.


维度的降维,去找一个比较好的低维的东西去展示原来的数据,但这个低维的东西可能保留一个原始的数据绝大部分有用的一个属性。


机器学习的目标:

1.Theoretical questions:

它是在什么样的条件下,什么东西能进行学习?

这些学习有理论上的保障吗?

给定一个学习算法之后,它会进行一些分析,算法学习的数据怎么样?它能收敛到一个什么样的情况,是不是可以收敛了等,这个是有一系列理论上的问题,也牵扯出一系列的学科、概率、统计、图优化等,这里有非常多的学科在后面做一些理论的支持和支撑。

2.Algorithms:

具体的算法,等解决了一些理论上的问题之后,来看具体的算法,去做的更加高效,更加准确,有没有去处理大数据,大规模的问题,有没有办法去提供一个种类丰富的算法集,或者一个学习问题有多种解等,每个目标里面都牵扯着机器学习里面的子学科。


定义跟术语:

1.example: item, instance of the data used.

2.Features:attibutes associated to an item, often represented as a vector(e.g, word counts).

3.Labels:category (clasification) or real value(regression)aassociated to an item.

4.Data:training data(typically labeled); test data (labeled but labels not seen); validation data (labeled, for tuning parameters).


Standard Scenarios

具体来看一下机器学习算法的分类,比如有 label 可以认为它是一个监督学习,没有 label 认为它是一个无监督学习,基于它们两者之间叫半监督,除此之外还有一种其实跟人下棋的状态很像,叫做强化学习,它是有一定的观察,然后你维护了一个状态的东西,通过这样一个动作获得一种奖罚机制,用这种方式来学习的叫做强化学习。


1、Unsupervised learning:


no labeled data.


监督跟非监督都非常像,只是中间没有 label。


b589a6a4833c4363987f3efb5ea9bbc9.png


2、Supervised learning:


uses labeled data for prediction on unseen points.

比如给一些芒果,里面有熟的有生的,那如果告诉芒果是熟的还是生的,通过图片,通过一个机器学习算法得到一个模型,这种认为是监督学习,如果把熟了或者没熟的这个东西给它去掉,这样就成为无监督学习,通过剧烈的方式,从流程图上看,这样一些东西拿来之后设计特征,送到一个集群的算法里面得到一个模型再进行预测。


9c3abf3a13a941d59f282d139c3da2ec.png


3、Semi-supervised learning:


uses labeled and unlabeled data for prediction on unseen points.

4.Reinforcement learning:


observation+ action+ reward+ state


强化学习这里用了一个老鼠走迷宫的方式,老鼠的头脑里面有状态图,通过 action 里面环境本身会有一个奖惩的机制,比如再某一个地方给它奖励或者惩罚,通过这样的方式更正或学习到一些东西同过来观察它能够去跟踪和学习到一些东西去更正它内部的状态,通过这样的方式进行学习。


4447bbd7dc6148db90fd1ed6a5b2cb9e.png


5、Formalize the Learning Problem


数学上形式化一下,x 为输入,通常它是一个输入的形式或者矩阵的形式,输出 y 是 label,通常它也是一个向量或矩阵方式,从 x 到 y去探索一个未知的模式,数据就是一大堆的训练样本,训练样本就是用数据的方式就是 xy,有些没有 y,希望从大量的 example 里面学到一个去探索这种未知的 f,最后学到一个积,这就是最终要学到的一个结果。


1.3机器为什么能学习


二:机器学习常用算法


2.1 监督学习-线性回归


2.2 非线性回归、过度拟合、模型选择


非线性回归:


4f70d61fc09b4b45a5f4bc5300ebc035.png


将抛物线的数据进行简单的修改变得到了下方的这张图,通过观察可以发现,;图中的图形形状是抛物线的形状,理论上与二次拟合的效果视为最佳,这种就被称之为二次非线性关系图。

过拟合:

x的多次方里面的高阶需求,使得我们可以通过高阶的需求来实现非线性的linear *regression。


*辅助理解视图如下:


0f2e8bf1895b43df8a6c54c114de8a9c.png


在之前的数据上加入二次方之后,图形也就成了下面的形状,由图可知,它非常好的拟合了数据的趋势。


c7fac75cf77e4521a2b3617deb1f2bc4.png


如果继续加大它的特征(从二次方加到十次方或者更大),则会出现过拟合的状况。如图所示:

d192f91a6dae45db99c7a1f743d56cf8.png

模型选择:

905d41fa9da74a42b31d703264d41d0f.png

通过观察图形,可以发现Training的值在不断下降,而Test的值在到达某个临界值后便开始反弹。


Overfitting模型的判定有很多种方式,运用的比较广泛的是通过Training和Test的值来进行判断其模型是否是Overfitting模型。由改图可知,模型的设计并不是越复杂越好,而是适用场景就足够了。


图中的公式为参考公式,平方与i的值都是可变的;不同的值可以视为不同的正则化方式。通过这种方式可以不断的进行过拟合来获得一个好的模型选择。

解决模型选择的问题可以使用七三分算法,将数据七三分,七的那一部分作为Training,三的那一部分作为Test。再者就是将数据分为两级。对于虚拟数据我们也可以使用七三分算法来验证。比如正择化的运用.


2.3 有监督分类学习

2.4 无监督分类学习

三:总结与联习

3.1 总结与练习

相关文章
|
14天前
|
机器学习/深度学习 人工智能 算法
深度学习入门:理解神经网络与反向传播算法
【9月更文挑战第20天】本文将深入浅出地介绍深度学习中的基石—神经网络,以及背后的魔法—反向传播算法。我们将通过直观的例子和简单的数学公式,带你领略这一技术的魅力。无论你是编程新手,还是有一定基础的开发者,这篇文章都将为你打开深度学习的大门,让你对神经网络的工作原理有一个清晰的认识。
|
15天前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
44 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
2月前
|
机器学习/深度学习 算法 数据挖掘
8个常见的机器学习算法的计算复杂度总结
8个常见的机器学习算法的计算复杂度总结
8个常见的机器学习算法的计算复杂度总结
|
16天前
|
机器学习/深度学习 存储 人工智能
文本情感识别分析系统Python+SVM分类算法+机器学习人工智能+计算机毕业设计
使用Python作为开发语言,基于文本数据集(一个积极的xls文本格式和一个消极的xls文本格式文件),使用Word2vec对文本进行处理。通过支持向量机SVM算法训练情绪分类模型。实现对文本消极情感和文本积极情感的识别。并基于Django框架开发网页平台实现对用户的可视化操作和数据存储。
20 0
文本情感识别分析系统Python+SVM分类算法+机器学习人工智能+计算机毕业设计
|
29天前
|
机器学习/深度学习 数据采集 算法
数据挖掘和机器学习算法
数据挖掘和机器学习算法
|
1月前
|
机器学习/深度学习 数据采集 存储
一文读懂蒙特卡洛算法:从概率模拟到机器学习模型优化的全方位解析
蒙特卡洛方法起源于1945年科学家斯坦尼斯劳·乌拉姆对纸牌游戏中概率问题的思考,与约翰·冯·诺依曼共同奠定了该方法的理论基础。该方法通过模拟大量随机场景来近似复杂问题的解,因命名灵感源自蒙特卡洛赌场。如今,蒙特卡洛方法广泛应用于机器学习领域,尤其在超参数调优、贝叶斯滤波等方面表现出色。通过随机采样超参数空间,蒙特卡洛方法能够高效地找到优质组合,适用于处理高维度、非线性问题。本文通过实例展示了蒙特卡洛方法在估算圆周率π和优化机器学习模型中的应用,并对比了其与网格搜索方法的性能。
165 1
|
2月前
|
机器学习/深度学习 存储 算法
图解最常用的 10 个机器学习算法!
图解最常用的 10 个机器学习算法!
|
3天前
|
传感器 算法 C语言
基于无线传感器网络的节点分簇算法matlab仿真
该程序对传感器网络进行分簇,考虑节点能量状态、拓扑位置及孤立节点等因素。相较于LEACH算法,本程序评估网络持续时间、节点死亡趋势及能量消耗。使用MATLAB 2022a版本运行,展示了节点能量管理优化及网络生命周期延长的效果。通过簇头管理和数据融合,实现了能量高效和网络可扩展性。
|
1月前
|
算法 BI Serverless
基于鱼群算法的散热片形状优化matlab仿真
本研究利用浴盆曲线模拟空隙外形,并通过鱼群算法(FSA)优化浴盆曲线参数,以获得最佳孔隙度值及对应的R值。FSA通过模拟鱼群的聚群、避障和觅食行为,实现高效全局搜索。具体步骤包括初始化鱼群、计算适应度值、更新位置及判断终止条件。最终确定散热片的最佳形状参数。仿真结果显示该方法能显著提高优化效率。相关代码使用MATLAB 2022a实现。
|
1月前
|
算法 数据可视化
基于SSA奇异谱分析算法的时间序列趋势线提取matlab仿真
奇异谱分析(SSA)是一种基于奇异值分解(SVD)和轨迹矩阵的非线性、非参数时间序列分析方法,适用于提取趋势、周期性和噪声成分。本项目使用MATLAB 2022a版本实现从强干扰序列中提取趋势线,并通过可视化展示了原时间序列与提取的趋势分量。代码实现了滑动窗口下的奇异值分解和分组重构,适用于非线性和非平稳时间序列分析。此方法在气候变化、金融市场和生物医学信号处理等领域有广泛应用。
下一篇
无影云桌面