Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
D_ACMER
apachecn-dl-zh
提交
325cb511
A
apachecn-dl-zh
项目概览
D_ACMER
/
apachecn-dl-zh
与 Fork 源项目一致
Fork自
OpenDocCN / apachecn-dl-zh
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
apachecn-dl-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
325cb511
编写于
12月 22, 2020
作者:
W
wizardforcel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
2020-12-22 14:47:13
上级
e0dfa610
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
9 addition
and
9 deletion
+9
-9
new/intel-proj-py/02.md
new/intel-proj-py/02.md
+9
-9
未找到文件。
new/intel-proj-py/02.md
浏览文件 @
325cb511
...
...
@@ -136,19 +136,19 @@ Softmax 将是表示输出层中不同类别的概率的最佳激活函数,而
现在我们已经定义了训练方法,损失函数和验证指标,让我们继续进行数据探索和建模。
请注意,输出级别中的分类具有序数性质,因为严重性随级别而增加。 因此,回归可能会派上用场。 我们还将尝试通过回归来代替分类,以了解运气如何。 回归的挑战之一是将原始分数转换为类。 我们将使用一个简单的方案,将分数散列到最接近的整数严重性
等级
。
请注意,输出级别中的分类具有序数性质,因为严重性随级别而增加。 因此,回归可能会派上用场。 我们还将尝试通过回归来代替分类,以了解运气如何。 回归的挑战之一是将原始分数转换为类。 我们将使用一个简单的方案,将分数散列到最接近的整数严重性
类别
。
# 考虑到
阶级
失衡
# 考虑到
类别
失衡
在分类方面,
班级失衡是一个主要问题。 下图描述了五个严重等级的等级
密度:
在分类方面,
类别失衡是一个主要问题。 下图描述了五个严重性类别的类别
密度:
![](
img/5969eeb1-ca28-4fbb-b96c-12d2f4088362.png
)
图 2.4:五个严重
等级的等级
密度
图 2.4:五个严重
性类别的类别
密度
从上图可以看出,将近 73% 的训练数据属于
**0
级
**
,这代表没有糖尿病性视网膜病。 因此,如果我们碰巧将所有数据点标记为
**0 类**
,那么我们将具有 73% 的准确率。 在患者健康状况下这是不希望的。 我们宁愿有一个测试说患者没有时有某种健康状况(假阳性),而有一项测试却漏诊时没有发现某种健康状况(假阴性)。 如果模型学会将所有点分类为属于
**0 类**
,则 73% 的准确性可能毫无意义。
从上图可以看出,将近 73% 的训练数据属于
**0
类
**
,这代表没有糖尿病性视网膜病。 因此,如果我们碰巧将所有数据点标记为
**0 类**
,那么我们将具有 73% 的准确率。 在患者健康状况下这是不希望的。 我们宁愿有一个测试说患者没有时有某种健康状况(假阳性),而有一项测试却漏诊时没有发现某种健康状况(假阴性)。 如果模型学会将所有点分类为属于
**0 类**
,则 73% 的准确性可能毫无意义。
在
*无严重等级*
上,检测较高的严重等级
比做好工作更为重要。 使用对数损失或交叉熵成本函数的分类模型的问题在于它偏爱多数类。 这是因为交叉熵误差是从最大似然原理中得出的,该似然原理倾向于将较高的概率分配给多数类别。 我们可以做两件事:
在
严重性类别 0 上,检测较高的严重性类别
比做好工作更为重要。 使用对数损失或交叉熵成本函数的分类模型的问题在于它偏爱多数类。 这是因为交叉熵误差是从最大似然原理中得出的,该似然原理倾向于将较高的概率分配给多数类别。 我们可以做两件事:
*
丢弃具有更多样本的类别中的数据,或者丢弃低频类别的上样本,以保持样本在各个类别之间的分布均匀。
*
在损失函数中,权重与类别的密度成反比。 这将确保当模型无法对低频类别进行分类时,对成本函数施加更高的惩罚。
...
...
@@ -1000,7 +1000,7 @@ def inception_pseudo(dim=224,freeze_layers=30,full_freeze='N'):
![](
img/8e955dd6-0917-4280-936d-2df33cbe371e.png
)
一旦我们预测了回归分数,就将其舍入到最接近的严重性
状况等级
(零到四)。
一旦我们预测了回归分数,就将其舍入到最接近的严重性
类别
(零到四)。
# 使用 keras 顺序 utils 作为生成器
...
...
@@ -1181,7 +1181,7 @@ folds=5):
```
从前面的代码中我们可以看到,计算出每一折的预测平均值,并通过四舍五入预测分数将其转换为最接近的严重性
等级
。 用于回归的 Python 脚本位于
[
GitHub 链接
](
https://github.com/PacktPublishing/Python-Artificial-Intelligence-Projects/tree/master/Chapter02
)
中。 名称为
`TransferLearning_reg.py`
。 可以通过运行以下命令来调用相同的命令:
从前面的代码中我们可以看到,计算出每一折的预测平均值,并通过四舍五入预测分数将其转换为最接近的严重性
类别
。 用于回归的 Python 脚本位于
[
GitHub 链接
](
https://github.com/PacktPublishing/Python-Artificial-Intelligence-Projects/tree/master/Chapter02
)
中。 名称为
`TransferLearning_reg.py`
。 可以通过运行以下命令来调用相同的命令:
```
py
python
TransferLearning_reg
.
py
--
path
'/media/santanu/9eb9b6dc-b380-486e-b4fd-c424a325b976/book AI/Diabetic Retinopathy/Extra/assignment2_train_dataset/'
--
class_folders
'["class0","class1","class2","class3","class4"]'
--
dim
224
--
lr
1e-4
--
batch_size
32
--
epochs
5
--
initial_layers_to_freeze
10
--
model
InceptionV3
--
folds
5
--
outdir
'/home/santanu/ML_DS_Catalog-/Transfer_Learning_DR/Regression/'
...
...
@@ -1213,7 +1213,7 @@ Processing Time 138.52878069877625 secs
```
从前面的日志中可以看到,假设我们刚刚使用回归得分将模型映射到最接近的严重性条件,该模型可实现约 66% 的不错的验证准确性和
`0.466`
的二次 Kappa 得分。 建议读者进行实验,看看是否基于预测的二级模型对进行评分,并且眼睛是左眼还是右眼比将朴素的评分映射到最近的严重性
等级
给出了更好的结果。
从前面的日志中可以看到,假设我们刚刚使用回归得分将模型映射到最接近的严重性条件,该模型可实现约 66% 的不错的验证准确性和
`0.466`
的二次 Kappa 得分。 建议读者进行实验,看看是否基于预测的二级模型对进行评分,并且眼睛是左眼还是右眼比将朴素的评分映射到最近的严重性
类别
给出了更好的结果。
# 概要
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录