自动化1班 彭鸿鑫
**
2019.9.28学习进度
**
今天是第一天参与STAR Pro,主要学习了两方面内容
深度学习的概论
初步了解了深度学习的概论,学习了什么是神经网络的概念、原理以及应用背景,以及相较与传统的算法,神经网络深度学习的优势————即在大数据量的支持下,神经网络的性能随之其规模不断提升;还学习了深度学习兴起的缘由,其最主要因素有:数据量、训练足够大的神经网络、算法;
python的初步了解
安装了python3,并初步使用了python;
运行python交互式有两种方式:
一.直接打开python;
二.用窗口命令输入python打开;
界面如图
代码如下
300+8
3082**10
1024print(‘hello,world’)
hello,worldexit()
语法规则与其他高级语言有许多相似之处,而且我了解到python是一门面向对象的解释型语言,它有交互模式和命令模式,我今天使用的正是交互模式,Python交互模式的代码是输入一行,执行一行,而命令行模式下直接运行.py文件是一次性执行该文件内的所有代码。可见,Python交互模式主要是为了调试Python代码用的,它不是正式运行Python代码的环境。
2019.9.29学习进度
今天是第二天参与STAR Pro,主要学习了两方面内容
神经网络基础
今天学习了神经网络中的基础————二分类问题
对于二分类算法,可以用logistic回归来解决, 而logisti回归可以看成一个小的神经网络
还学习了logistic回归的损失函数
运用所学数学知识,计算出logistic回归的损失函数中关于w、b的最优解以及反向推出神经网络的传播过程。我理解到不管是任何学科任何方面都与数学有关!
python的初步使用以及基础的学习
初步了解了python的基础知识,并且使用了文本编辑器编译了python代码;
代码如下;
代码如下
2019.9.28学习进度
今天是第三天参与STAR Pro,今天主要学了以下几个方面
一. 神经网络基础
继昨天的进度,今天复习了logistic回归及其损失函数,还学习了m个样本的梯度下降–将梯度下降法应用于logistic回归的一个训练样本上。
碰到问题:
为什么定义dz= ai-yi
这些式子的详细解过程是怎样了?
解决
通过查阅https://blog.csdn.net/bitcarmanlee/article/details/51473567资料,对这些公式有了更深的认识;
二. python基础语法
今天也继续学了python的一些基础语法,认识了list和tuple(类似于其他语言中的数组)还有条件判断和循环语句,与其他语言相比,python少了一些繁冗的定义,表现上更加灵活。
(1)list和tuple的使用
使用了list实现了有序表,代码如下:
还有用list实现了索引
碰到问题一
当程序中出现中文(包括注释)时要在第一行加入#coding=gbk
(2)条件语句的使用
用if语句实现了BMI的计算;
结果
代码
-- coding: utf-8 --
height = 1.75
weight = 80.5
bmi = weight/height/height
if bmi<18.5 :
print(‘过轻’)
elif bmi<25 :
print(‘正常’)
elif bmi<28 :
print(‘过重’)
elif bmi<32 :
print(‘肥胖’)
else :
print(‘严重肥胖’)
碰到问题二
关于python中的作用域;
解决
和其它程序设计语言(如 Java、C 语言)采用大括号“{}”分隔代码块不同,Python 采用代码缩进和冒号( : )来区分代码块之间的层次。
在 Python 中,对于类定义、函数定义、流程控制语句、异常处理语句等,行尾的冒号和下一行的缩进,表示下一个代码块的开始,而缩进的结束则表示此代码块的结束。
注意,Python 中实现对代码的缩进,可以使用空格或者 Tab 键实现。但无论是手动敲空格,还是使用 Tab 键,通常情况下都是采用 4 个空格长度作为一个缩进量(默认情况下,一个 Tab 键就表示 4 个空格)。
(3)循环语句的使用
用for in 和while语句实现计算;
代码如下;
碰到问题
notepad++中编写代码时候如何结束for in或while循环?
解决
在下面第一行写上end 之后将其删除
2019.10.1学习进度
今天是第四天参与 STAR Pro,今天主要学了Python基础以及函数
dict和set的使用
学习之后使用python简单的运用了dict和set
代码
结果:
调用函数和定义函数
调用函数
python库中有很多内置函数,可在https://docs.python.org/3/library/functions.html#breakpoint中查找
定义函数
实现了自定义abs函数
碰到问题
无法检测传入参数的类型
解决
在函数中加入
if not isinstance(x,b,c, (int, float)):
raise TypeError(‘bad operand type’)
代码:
import math
def quadratic(a, b, c):
#输入框
dlt= b**2 - 4ac #DELTA值
if dlt == 0:
return -b/(2a) #等于0 唯一解
if dlt < 0:
return ‘对应系数组无解’ #小于零无解
# raise ValueError(‘对应系数组无解’) #或如果允许参数错误可使用发出错误
else:
return (-b+math.sqrt(dlt))/(2a),(-b-math.sqrt(dlt))/(2*a)
测试:
print(‘quadratic(2, 3, 1) =’, quadratic(2, 3, 1))
print(‘quadratic(1, 3, -4) =’, quadratic(1, 3, -4))
if quadratic(2, 3, 1) != (-0.5, -1.0):
print(‘测试失败’)
elif quadratic(1, 3, -4) != (1.0, -4.0):
print(‘测试失败’)
else:
print(‘测试成功’)
2019.10.2学习进度
今天是第五天参与STAR Pro
今天主要学习了以下两方面内容:
1.神经网络基础:
继上次学习的logistic回归,今天学了向量法,一种python内置的方法,可以不适用for循环,从而提高算法效率。向量法可以运用于logistic回归中优化参数。
向量法与for循环解决logistic回归
2.python中函数的参数
学完之后练习使用几种参数。
练习一:
结果:
代码:
def product(*number):
sum = 1
if len(number)==0:
raise TypeError(“input null”)
else :
for n in number:
sum *= n
return sum
练习二
定义一个有参数集合的函数
代码:
结果