3507-毕同学-人工智能学科-计算机视觉方向 扫二维码继续学习 二维码时效为半小时

(0评价)
价格: 免费

求导

softmax的公式为:

当i=j的时候求导结果为:

当i不等于j的时候求导结果为:

 

[展开全文]

softmax

扩大了值之间的差距

 

[展开全文]

loss及其梯度

典型的loss函数 有:

(1)均方差

注意:MSE不同于二范数

MSE不开根号!

求导

 

(2)Cross Entropy Loss

可以用于二分类、多分类问题,经常使用softmax激活函数

[展开全文]

激活函数及其梯度

为了解决激活函数不可导的情况,提出了sigmoid/logistic:光滑可导的函数,且把无穷的值域压缩到[0, 1]的范围内

但是会出现梯度离散的情况,参数无法得到更新,因为越往后,导数值与接近于0

sigmoid函数求导之后如下:

Tanh在RNN里面用得比较多

求导:

Relu使用最多的激活函数

计算导数的时候非常简单,导数为1。不会放大也不会缩小,很大程度上减少了梯度爆炸和梯度离散发生的可能性

 

 

[展开全文]

递归算法

1.定义递归头

2.递归体

 

def fact(n):

    if n==1:

         return n

    else:

         return n*fact(n-1)

print(fact(5))

[展开全文]

import shutil

shutil.make_archive('电影/gg','zip','movie/港台')

import zipfile

z1=zipfile.ZipFile('d:/a.zip','w')

z1.write('1.txt')

z1.write('1_copy.txt')

z.clost()

z2=zipfile.ZipFile('d:/a.zip','r')

z2.extractall('电影')

[展开全文]

import shutil

shutil.copyfile('1.txt','1_copy.txt')

shutil.copytree('movie/港台','电影')

 

[展开全文]

import os

path=os.getcwd()

list_files=os.walk(path)

 

for dirpath,dirnames,filenames in list_files:

    for dir in dir names:

        print(dir)

[展开全文]

import csv

with open('dd.csv','r') as f:

    a_csv=csv.reader(f)

    print(list(a_csv))

 

with open('ee.csv','w')as f:

    b_csv=csv.writer(f)

    b_csv.writerow(['ID','name','age'])

[展开全文]

常见函数的梯度

 

 

 

[展开全文]

满足上述条件的函数叫做凸函数,不管从哪个方向都能找到全局最优解

容易出现的问题:

(1)有可能会遇到局部最优解

(2)saddle point出现鞍点,在一个自变量上的偏微分取得极大值,在另一个自变量上取极小值

优化梯度下降法来找到全局最优解的因素:

(1)初始状态;

(2)学习率;

(3)momentum——如何逃离局部最小值

 

[展开全文]

什么叫梯度

导数——反映的是随着x的变化,y的变化趋势

偏微分——指定了自变量的方向上,因变量在某个自变量方向上的变化趋势

梯度——把所有的偏微分看做向量

 

[展开全文]

1、行注释:# 这是一行可以编辑中文的备注

2、断注释:三个英文状态下的引号,两行之间可以编辑中文的备注

"""

。。。

。。。

。。。

。。。

"""

[展开全文]

1、保存:ctrl+s     随时保存,养成习惯

2、tab键:默认四个空格

3、注释:#   养成习惯,方便自己,方便他人

4、行连接符(代码太长需要分行时用):\ 

     仅仅是分行用的,代码内容没有断

 

[展开全文]

字符串的格式化

format()

 

填充与对齐

 

数字格式化

小数f 整数d

 

[展开全文]

常用的查找方法

len

a.startswith('wo')是以wo开头的吗

a.endswith('wo')是以wo结尾的吗

a.find('wo')第一次出现wo的位置

a.rfind('wo')最后一次出现wo的位置

a.count('wo')wo出现了几次

a.isalnum()所有字符全是字母或数字   返回布尔值

 

去除首尾信息

strip()

 

大小写转换

a.capitalize()产生新的字符串,首字母大写

a.title()产生新的字符串,每个单词都首字母大写

a.upper()产生新的字符串,所有字符全转成大写

a.lower()产生新的字符串,所有字符全转成小写

a.swapcase()产生新的字符串,所有字母大小写转换

 

格式排版

center()、ljust()、rjust()

 

[展开全文]

字符串驻留机制

 

 

 

字符串比较

==

!=

is

 

成员操作符

in 

not in

 

[展开全文]

split()分割   join()合并

a.split()把空格作为分隔符

a.split('be')把be最为分隔符

 

join()

a=['sxt','sxt100','sxt200']列表

'*'.join(a)

'sxt*sxt100*sxt200'

涉及到性能时一般用join(不生成新的对象)

 

append加元素

 

 

 

[展开全文]

字符串切片slice操作

截取字符串

[:]提取整个字符串

[start:]从start-1开始直到最后

[:end]从头又开始直到end-1

包含开头不包含结尾

[start:end:step]

其他操作:

step=-1,从后往前反向提取

 

[展开全文]

str()实现数字转型字符串

 

使用[]提取字符

 

replace实现字符串的替换

a=a.replace('c','gao')把c变成gao

 

 

[展开全文]