初识人工智能

简介: 初识人工智能

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
相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
6月前
|
机器学习/深度学习 人工智能 JavaScript
人工智能 (3)
人工智能 (3)
54 0
|
机器学习/深度学习 传感器 人工智能
人工智能产业结构
人工智能产业结构
351 0
|
机器学习/深度学习 人工智能 自动驾驶
什么是人工智能?1
人工智能(Artificial Intelligence,AI)的执行指南讲述,从机器学习和通用人工智能到神经网
105 0
ly~
|
1月前
|
人工智能 搜索推荐 自动驾驶
人工智能的应用
人工智能在多个领域广泛应用,包括:医疗领域的疾病诊断、药物研发和医疗机器人;交通领域的自动驾驶和智能交通管理;金融领域的风险评估、金融诈骗检测和投资决策;教育领域的个性化学习和智能辅导;工业领域的质量检测和生产流程优化;家居领域的智能家居系统,如智能音箱和智能灯具等,极大提升了各行业的效率与服务质量。
ly~
43 1
|
5月前
|
人工智能 自动驾驶 安全
人工智能的未来应用是什么?
【6月更文挑战第22天】人工智能的未来应用是什么?
66 13
|
人工智能 决策智能
人工智能
人工智能的前景非常广阔,但也需要考虑相关的挑战和问题。
55 0
|
机器学习/深度学习 人工智能 自然语言处理
什么是人工智能
人工智能相关内容进行概括和总结的简短描述。这个摘要通常包括对人工智能的定义、原理、应用领域和发展趋势等方面的概述。人工智能摘要可以帮助人们快速了解人工智能的基本概念和重要信息,为进一步深入了解和研究人工智能提供基础知识。
109 0
|
机器学习/深度学习 存储 人工智能
什么是人工智能?3
人工智能(Artificial Intelligence,AI)的执行指南讲述,从机器学习和通用人工智能到神经网
|
机器学习/深度学习 人工智能 安全
人工智能安全(上)
人工智能安全(上)
321 0
人工智能安全(上)
|
机器学习/深度学习 人工智能 算法
人工智能的未来是什么?
实施人工智能将显著地提高技术创新和人类解决问题的能力。然而,人工智能的使用及其进步必须在道德范围内,这样它才不会威胁到人类的存在。
263 0
人工智能的未来是什么?