初识人工智能

简介: 初识人工智能

1.机器学习简单了解

刚开始接触人工智能的时候,大家肯定看到了一些名词:人工智能、深度学习、机器学习...what??哈哈,先来简单的给大家解释一下这三者的区别,再来谈论其他的问题。说的简单一点,机器学习是人工智能的一个实现途径,深度学习则是机器学习的一个方法发展而来。

人工智能是一个庞大的系统,它有很多的分支,比如计算机视觉、语音识别、文本挖掘、机器翻译、机器人这些。这些在生活中大家也经常使用,比如面部识别、谷歌翻译、小机器人等等这些。它们都是不同的分支,但同属于人工智能。

人工智能必备三要素:数据、算法、计算力。这也就是为什么人工智能如此火爆,但是过了许久,人才缺口仍然如此巨大,数学能力是一道难以逾越的门槛。

那么我们先从机器学习入手,开始了解人工智能吧。机器学习是从数据自动分析获得模型,并利用模型对未知数据进行预测。它的工作流程是:获取数据、数据基本处理、特征工程、机器学习(模型训练)、模型评估。

特征工程:使用专业背等知识,处理数据,使得数据更容易被机器识别。

2.机器学习算法

2.1 监督学习

输入数据是由输入特征值和目标值所组成。当输出的是一个连续的值的时候,我们称之为回归;输出的是有限个离散值的时候,称之为分类

2.2 无监督学习

输入数据是由输入特征值所组成。数据只有特征值,无目标值。

2.3 半监督学习

数据,部分是特征值+目标值,部分是只有特征值。

2.4 强化学习

数据,是一个动态的过程,每一次的输出,并不能立刻知道结果的正误。

3.Jupyter Notebook使用(Linux)

1.打开界面(输入完命令会直接启动浏览器):

jupyter notebook

2.和vim类似,jupyter分为编辑模式和命令模式。

3.命令模式下,回车或者鼠标双击cell进入编辑模式。

cell:一对In Out会话被视作一个代码单元,称为cell

4.编辑模式下按esc键退出编辑,进入命令模式。

5.常用的快捷键(命令模式下):

y:cell切换到Code模式,也就是可以写代码了。
m:cell切换到Markdown模式,可以编写Markdown笔记。
a:在当前cell的上面添加cell
b:在当前cell的下面添加cell
dd:删除当前cell

6.其他快捷键:

Shift+Enter,执行本单元代码,并跳转到下一单元
Ctrl+Enter,执行本单元代码,留在本单元

4.Matplotib的简单使用

4.1 Matplotlib三层结构

4.1.1 容器层

Canvas:画板--底层已经包含,不需要关注

figure:画布--在每次使用,都需要实例化

axes:坐标系--申明图像的绘制区域

4.1.2 辅助显示层

声明需要绘制的x轴,y轴,标题...

4.1.3 图像层

声明需要绘制哪些图像(plot,scatter, bar...)

plot:折线图

hist:直方图

pie:饼图

bar:柱状图

4.2基本流程

import matplotlib.pyplot as plt
 # 1.创建画布
 plt.figure(figsize=(20,8), dpi=100)
 # 2.绘制图像
x = [1,2,3]
 y = [4,5,6]
 plt.plot(x, y)
. # 保存图片到指定路径
. plt.savefig("test.png")
 # 3.显示图像
 plt.show()

figsize:指定图的长宽

dpi:图像的清晰度

注意:保存图片操作一定放到show之前。否则会保存一个空白图片。

4.3 一些常用功能

1.添加x,y刻度

plt.xticks()
plt.yticks()

注意:里面传入的第一个值,必须是数字,不能是字符串,如果要显示字符串,需要进行替换

2.添加网格显示

plt.grid(True, linestyle="**", alpha=0.5)

True -- 是否显示网格

linestyle -- 线的形状

alpha -- 线的透明度

3.一个图像,多次plot:直接进行数据传输,使用。

4.显示图例

plt.legend(loc="best")

loc -- 图例显示位置

5.多个坐标系图形绘制

plt.subplots(nrows=, ncols=)

nrows -- 几行

ncols -- 几列

4.4 案例:显示温度变化状况

# 需求:画出某城市11点到12点1小时内每分钟的温度变化折线图,温度范围在15度~18度
# 初次完成
# 0.构造数据
x = range(60)
y = [random.uniform(15, 18) for i in x]
# 1.创建画布
plt.figure(figsize=(20, 8))
# 2.图像绘制
plt.plot(x, y)
# 2.1 添加x,y轴刻度
x_ticks_label = ["11点{}分".format(i) for i in x]
y_ticks = range(40)
plt.xticks(x[::5], x_ticks_label[::5], fontsize=20)
plt.yticks(y_ticks[::5])
# 2.2 添加网格显示
plt.grid(True, linestyle="--", alpha=0.5)
# 2.3 添加x,y轴描述和标题
plt.xlabel("时间")
plt.ylabel("温度")
plt.title("中午11点--12点温度变化图", fontsize=25)
# 3.显示
plt.show()

4.5 案例:多个坐标系显示-plt.subplots(面向对象的画图方法)

# 需求:画出某城市11点到12点1小时内每分钟的温度变化折线图,温度范围在15度~18度
# 多个axes
# 0.构造数据
x = range(60)
y_shanghai = [random.uniform(15, 18) for i in x]
y_beijing = [random.uniform(1, 14) for i in x]
# 1.创建画布
# plt.figure(figsize=(20, 8))
fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(20, 8), dpi=100)
# 2.图像绘制
# plt.plot(x, y_shanghai, label="上海")
# plt.plot(x, y_beijing, label="北京", linestyle="--", color="r")
axes[0].plot(x, y_shanghai, label="上海")
axes[1].plot(x, y_beijing, label="北京", linestyle="--", color="r")
# 2.1 添加x,y轴刻度
x_ticks_label = ["11点{}分".format(i) for i in x]
y_ticks = range(40)
# plt.xticks(x[::5], x_ticks_label[::5])
# plt.yticks(y_ticks[::5])
axes[0].set_xticks(x[::5], x_ticks_label[::5])
axes[0].set_yticks(y_ticks[::5])
axes[0].set_xticklabels(x_ticks_label[::8])
axes[1].set_xticks(x[::5], x_ticks_label[::5])
axes[1].set_yticks(y_ticks[::5])
axes[1].set_xticklabels(x_ticks_label[::8])
# 2.2 添加网格显示
# plt.grid(True, linestyle="--", alpha=0.5)
axes[0].grid(True, linestyle="--", alpha=0.5)
axes[1].grid(True, linestyle="--", alpha=0.5)
# 2.3 添加x,y轴描述和标题
# plt.xlabel("时间")
# plt.ylabel("温度")
# plt.title("中午11点--12点温度变化图", fontsize=25)
axes[0].set_xlabel("时间")
axes[0].set_ylabel("温度")
axes[0].set_title("上海中午11点--12点温度变化图", fontsize=25)
axes[1].set_xlabel("时间")
axes[1].set_ylabel("温度")
axes[1].set_title("北京中午11点--12点温度变化图", fontsize=25)
# 2.4 显示图例
# plt.legend(loc=0)
axes[0].legend(loc=0)
axes[1].legend(loc=0)
# 3.显示
plt.show()


日常问题解决

1 pip下载包速度慢解决

Linux中大家使用pip命令进行安装时,会发现下载速度奇慢!!按照网上的教程更换国内的源,发现还是不行。后来发现了原因,大家从设置里面修改后的源是不适用于pip安装的。如果想pip安装包的时候下载速度快一点,按照下面的命令进行修改即可:

1.先在主目录下创建 .pip目录,然后在目录中创建 pip.conf文件。

mkdir ~/.pip
vim ~/.pip/pip.conf

2.在打开的文件中编写如下的内容:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

将pip的源更换为清华的镜像源。


参考文献:https://blog.csdn.net/YZXnuaa/article/details/79710673

3.保存退出即可。

2 GPU上适合运行计算密集型的程序和易于并行的程序。

CPU是中央处理器,内部结构十分复杂,有复杂的控制逻辑和诸多优化电路,计算能力只是CPU的一小部分功能。而GPU便是专门为计算而生了,GPU加速计算可以将应用程序计算密集部分的工作转到GPU上,CPU就可以空出更多时间处理其他程序。这样一来,应用程序的运行速度就快的多了。CPU适合IO密集型,而GPU适合计算密集型。平时经常玩游戏的小伙伴肯定深有感触,游戏对GPU要求很高。

3 创建虚拟环境

创建python3的虚拟环境:

mkvirtualenv 虚拟环境名 -p python3

删除虚拟环境:

rmvirtualenv 虚拟环境名

进入虚拟环境:

workon 虚拟环境名

查看所有虚拟环境:

workon

退出虚拟环境:

deactivate
相关实践学习
基于阿里云DeepGPU实例,用AI画唯美国风少女
本实验基于阿里云DeepGPU实例,使用aiacctorch加速stable-diffusion-webui,用AI画唯美国风少女,可提升性能至高至原性能的2.6倍。
相关文章
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能 (4)
人工智能 (4)
21 0
|
8月前
|
机器学习/深度学习 存储 人工智能
什么是人工智能?4
人工智能(Artificial Intelligence,AI)的执行指南讲述,从机器学习和通用人工智能到神经网
|
8月前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能的前世今生与未来
人工智能的前世今生与未来
56 0
|
8月前
|
机器学习/深度学习 人工智能 自动驾驶
什么是人工智能?1
人工智能(Artificial Intelligence,AI)的执行指南讲述,从机器学习和通用人工智能到神经网
|
9月前
|
机器学习/深度学习 人工智能 算法
解密人工智能
三、随机森林 四、Naive Bayes(朴素贝叶斯) 五、结语
|
2月前
|
机器学习/深度学习 人工智能 TensorFlow
探索人工智能
探索人工智能
16 0
|
8月前
|
机器学习/深度学习 存储 人工智能
什么是人工智能?3
人工智能(Artificial Intelligence,AI)的执行指南讲述,从机器学习和通用人工智能到神经网
|
10月前
|
机器学习/深度学习 人工智能 搜索推荐
人工智能来了我们可以做什么?
人工智能在教育领域也有着广泛的应用前景。通过智能教育系统和个性化学习平台,人工智能可以提供更好的教育资源和教学方式。例如,人工智能可以根据学生的学习情况和兴趣,提供个性化的学习内容和学习计划,帮助学生更好地学习和成长。此外,人工智能还可以利用自然语言处理和语音识别技术,实现智能辅导和智能评测,提供更好的教学效果和反馈。
83 0
|
机器学习/深度学习 人工智能 安全
人工智能安全(上)
人工智能安全(上)
233 0
人工智能安全(上)
|
传感器 人工智能 供应链
人工智能在建筑行业的应用
随着科学技术的进步和快速发展,人工智能技术在各个领域的应用越来越广泛。
406 0
人工智能在建筑行业的应用