人工智能—机器学习是什么
文章目录
前言
因为不是专业的系统教学博客,算是分享吧,可能很多细节不到位,也不会太全面的讲解,可能会以实践为主,想要专门投入学习的可以去多看看书和相关论文,这边只适合入门哦
提示:相关专题会连续更新,时间不定
一、什么是机器学习?
专业介绍很术语,可能让第一次接触机器学习的同学会比较摸不着头脑,草率的说就是让机器来模拟人学习的过程,比如:人不断的看书学习知识,再用学习的知识去解决问题,这些问题可能是你学过原题的,可能是全新的,但机器都能像人一样通过自己的知识来对这样的问题进行解答。
二、为什么需要机器学习,机器学习的作用
机器学习做为人工智能的一个分支,他的核心目的肯定与他的父类相同,便是希望计算机能更加智能,更加拟人化,将计算机强大的计算能力与人灵活的思维结合起来解决日益复杂的社会问题、经济问题、科学问题……
在大数据的时代里,机器取代廉价劳动力的趋势已经势不可挡,所以学习机器学习还是很有必要的。
如:
- 识别并去除大量的垃圾邮件
- 交通环境的预测,帮助更好的交通资源调度
- 病例的大数据分析,帮助快速准确的诊断
- 经典的房价预测问题
- 神奇的智能对话(Siri、小爱同学)
- ……
三、机器学习需要掌握的前置知识
1.一定的编程能力(快速上手建议python)
2.数学基础:概率论,线代,统计学等乱七八糟的(不过不影响入门)
四、机器学习种类
基于学习模式的分类
(1)模拟人脑学习的机器学习方法
比如大家熟知的神经网络学习方法
(2)直接采用数学理论的机器学习方法
统计机器学习
基于学习方式的分类
(1)监督学习
带有标签信号的学习过程,也可以说是对着“答案”的学习方法
(2)无监督学习
以聚类方法为主,典型的有发现学习,聚类学习,竞争学习
(3)强化学习
以动态规划的思想为主的学习方法
基于学习结果的分类
(1)规则学习
如决策树学习
(2)函数学习
如神经网络学习
(3)类别学习
如聚类分析
当然还有更加细化深入的分类,这边只选择这几种最直观的分类。
五、机器学习常用库的安装
1、numpy
因为机器学习需要大量的数学计算如:线性代数、傅立叶变换和矩阵领域中工作相关的函数,且numpy旨在提供一个比传统 Python 列表快 50 倍的数组对象。再加上C与C++的特性,使他的运算速度也出奇的快。
在以后的机器学习路程中几乎离不开这个库
安装代码如下(示例):
pip install numpy
速度不行的还可以加国内镜像源(示例清华):
pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
然后可以进行简单的调试:
import numpy
arr = numpy.array([1, 2, 3])
print(arr)
print(arr.shape)
print(type(arr))
运行结果:
感兴趣的同学还可以研究一下numpy的官方帮助文档:(当然也能直接进定义文件里查看)
import numpy
arr = numpy.array([1, 2, 3])
print(help(arr))
2、Pandas
对应numpy强大的数学计算支持,pandas在机器学习中耀眼的就是他强大的数据分析、处理能力。
他强大的数据适应性
- 各种各样的表格数据
- 有序无序的序列数据
- 稀奇古怪的统计数据
他神奇的数据处理能力
- 对大数据中缺失值的快速处理,表示为NaN或其他个性化设置
- 对多维数据的灵活变化
- 自动的数据对齐
- 直观的数据合并
- 几乎万能的IO支持
- ……
安装代码如下(示例):
pip install pandas
速度不行的还可以加国内镜像源(示例清华):
pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple
然后可以进行简单的调试:
import numpy as np
import pandas as pd
s = pd.Series([1, 3, 5, np.nan, 6, 8])
print(s)
print(type(s))
运行结果:
再看看二维的区别,能发现他们的区别吗:
import numpy as np
import pandas as pd
#s = pd.Series([1, 3, 5, np.nan, 6, 8])
s = pd.DataFrame([1, 3, 5, np.nan, 6, 8])
print(s)
print(type(s))
总结
简单的介绍了机器学习的概念以及几个常用包的安装,其实常用的包远远不止这么几个,但是安装方式大同小异,所以大家可以参考上面的安装方法完成其他相关包,如:
- scipy
- matplotlib
- scikit-learn
- tensorflow
- ……
下一篇博客我将开始一些简单的机器学习案例入门,以后的相关分享也会以案例为主,想扎实理论基础的同学可以参考相关书籍。