visom|图像分割|机器学习|模式识别(学习笔记2019-03
今日计划
1.visdom入门,看官网的一些介绍,把示例跑通
2.图像分割,加权重训练,看到一个segnet设置loss权重的方法尝试一些,看能不能把样本不平衡的效果改善。
3.机器学习:coursera的课程week4的作业得写完。
● visdom
刚刚搜索了网上了安装方法,安装了visdom,并试着启动
安装: pip install visdom
启动:python -m visdom.server
这时,会给一个默认端口的网址:http://localhost:8097
问题:试图登上,但是失败了。查了一个多小时资料,才知道答案,对于我们这种不懂ssh,对远程服务知识量为0的人真的难受。
解决方案:要在本地,比如我本地是windows,服务器是linux,我需要在win上打开cmd,然后输入
ssh -L 127.0.0.1:8097:127.0.0.1:8097 yrl@pris407
才能打开visdom的网页。而且在使用的时候不能关了cmd窗口。。。
●图像分割
已经完成了加入weight的loss的网络代码,正在训练。
基本方法是(转载):
f(class) = frequency(class) / (image_count(class) * w * h)
weight(class) = median of f(class)) / f(class)
其中frequency(class)的意思是该类别的training set的总像素的个数;比如在我的数据集合中training set的数量为500张图片,房屋像素的个数总和为30000个像素; image_count(class)的意思是在training set中含有该类别的像素的图片的数量;比如含有房屋的图片的个数位467张 w*h为图片的尺寸; median of f(class))为计算出的f(class) 的中位数。
结果出来后,真的对于我的数据集没什么作用。不知道是不是数据本身的问题。
●机器学习
- Matlab/Octave:
1.exist():表示存在,返回1,否则0;可以表达函数接口中的形参是否给了值。
2.randperm():返回随机的整数值~
3.reshape():B = reshape(A,m,n) 将矩阵A的元素返回到一个m×n的矩阵B。如果A中没有m×n个元素则返 回一个错误。
Hint: theta(:) will return a column vector.
完成了编程和作业。
●额外的,完成学校“机器学习与数据科学”作业
- 学习了拉格朗日乘子法:在有约束条件的前提下,引入拉格朗日乘子lambda,把n个变量和k个有约束问题变成(n+k)的无约束问题。
- 推导了离散变量的最大熵(当概率相等时)和连续变量的最大微分熵(当概率为高斯分布时,且一阶矩二阶矩有限)。顺便弄懂了一直处在遗忘边缘的一阶矩二阶矩: