接触人工智能工作差不多半年时间了,现在就了解到的知识做简要回顾与总结。似乎毫无章法,但是基础知识。很多只有点,容我慢慢进行完善。
神经网络可以处理图像语音文本等数据,可以用在自动驾驶、语音助手、新闻媒体等方面。
1、激活函数:作用在提高规模化的非线性化能力,模拟被激化的能力
sigmoid函数:整个区间可导、非中心对称、数据后期变化不大,趋向于1学习效率降低。
RelU函数:线型、导数为1,效率比较高,(0,0)连续不可导。
tanh函数:中心对称、数据中心化,数据过多时,学习效率降低。
2、线性回归
误差是独立具有相同分布并且服从均值为0方差为theata方的高斯分布
似然函数:什么样的参数跟我们的数据组合恰好是真实值。
梯度下降:小批量梯度下、随机梯度下降、
3、逻辑回归
经典的二分类算法,可以是非线性函数,
似然函数->对数似然
应用梯度上升求最大值。参数更新。
4、卷积神经网络
2012年最流行的网络,广泛运用在图像和语言识别。做图像的时候,输入的就不在是图像,具有高度的具体数字,也不再是对像素点进行处理,而是对像素块进行处理,这样具有连续性更容易理解图像,对于图片还拥有长宽高三个值
5、RNN循环神经网络
缺陷:无法建模长时间的依赖
6、深度学习
以不少于两个隐含层的神经网络对输入进行端到端的非线型变换或者表示学习的技术。
卷积合数目等于输入的channel数乘输出的channel数值
卷积层:权重共享相比于全连接层减少了数据量,多通道卷积的快速实现
反卷积:卷积的逆向过程实现信号复原;FCN,反卷积实现上采样
pooling层:配合反卷积使用,max pooling(最大值)、mean pooling(平均值)和随机pooling
7、EXCEL操作
book = xlrd.open_workbook("文件名.xls")#得到Excel文件的book对象,实例化对象
sheet1 = book.sheet_by_index(0) # 通过sheet索引获得sheet对象
#sheet_name = book.sheet_names()[0]# 获得指定索引的sheet表名字
nrows = sheet1.nrows#获取文件行数
#新建需要保存的文件
book = xlwt.Workbook(encoding='utf-8', style_compression=0)
sheet_target = book.add_sheet('test', cell_overwrite_ok=True)
cell_value = sheet1.cell_value(i, 0)#获取sheet1中的第(i,0)的数据
sheet_target.write(i,j, sheet1.cell_value(i, j)) #将sheet1中的第(i,j)的数据写入到sheet_target中(i,j)处
8、python爬虫
一种方法
import requests
具体代码如下:
html_frist = "http://www.whrt.gov.cn/"
html = requests.get(html_frist)
html.encoding="utf-8"
print html.text
或者
import re
from bs4 import BeautifulSoup
import urllib
具体代码如下:
html = urllib.urlopen("×××").read().decode("utf-8")
soup = BeautifulSoup(html,features="lxml")
sup_urls = soup.find_all("a",{"target":"_blank","href":re.compile("")})
多功能Request:
post:账号登录,搜索内容上传图片文件往服务器传输数据等
get:正常访问网页
9、numpy
shape:长宽,横纵数目
ndim:返回数组维度
dtype.name:返回数据类型
size:返回数据量
random.random((2,3)):随机生成2×3的数组
np.hstack(a,b):横向拼接a,b
np.vstack(a,b):纵向拼接a,b
np.hsplit(a,3):横向平分切成三份
np.vsplit(a,3):纵向平分切成三份
c=a.view:将a复制给c,a和c在同一个地址
c=a.copy:将a深度复制给c,a和c在不同地址
10、matplotlib pandas 数据可视化
import matplotlib.pyplot as plt
import pandas as pd
a = pd.read_csv("a.csv")
a["data"] = pd.to_datetime(a["DATE"])
print a.head(5)
plt.ion()
plt.plot()
plt.show()
plt.savefig("a.npg")
plt.pause(n)#页面暂停显示n秒
plt.close()
11 tensorflow
实现机器学习算法的借口,同时是执行机器学习算法的框架
CPU/GPU 执行计算图 构造计算图 计算图 有向图 数据流图
12 线程与进程
t=threading.Thread(target =action,args = (1))
threading.Lock()来穿件锁,函数在执行前先获得锁,执行后释放锁。
with lock:lock.acquire()先获得锁;lock.release()执行完释放锁
Thread 提供低级别的原始的线程以及一个简单的锁
run() #表示线程活动的方法
start() #启动线程是否活动
join()
isAlive() #返回线程是否活动
getName() #得到线程名
setName() #设置线程名
时间time,time.ctime()/datetime.datetime.now().strftime("----")
13 正则表达式
常用符号:点号、星号、问号、括号
.——匹配任意字符换行符号除外
*——匹配前一个字符0~n次
?——匹配前一个字符0~1次
.*——贪心算法
.*?——非贪心算法
()——括号内的数据作为结果返回
findall 匹配所有符合规律的内容,包含结果的列表
search 匹配提取第一个符号规律的内容,正则表达式对象
sub 替换符合规律的内容,返回替换后的值。
eg:匹配纯数字———"\d+";re.sub('123(.*?)123','123%d123'%789,S)
14、样本不均匀
过采样:使得两个样本同样多
下采样:使得两种样本同样少
交叉验证:求稳操作、切分、训练集和测试集、验证集为训练集的一部分
15、决策树、随机森林、集成算法。
能够处理很高维度的数据,不用做特征选择,容易做并行化方法,速度比较快,可以进行可视化展示,便于分析。
学习过程中做了python实现逻辑回归和梯度下降策略
逻辑回归是在线性回归的基础上,增加一个转化函数,能够将预测值映射到【0,1】之间,以0.5为分界线,从而达到分类的目的。其中经常用到的转化函数是sigmoid:附程序代码如下:
https://download.csdn.net/download/tcd1112/10376493