visom|图像分割|机器学习|模式识别(学习笔记2019-03-28)

今日计划

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)的无约束问题。

    - 推导了离散变量的最大熵(当概率相等时)和连续变量的最大微分熵(当概率为高斯分布时,且一阶矩二阶矩有限)。顺便弄懂了一直处在遗忘边缘的一阶矩二阶矩:


你可能感兴趣的:(visom|图像分割|机器学习|模式识别(学习笔记2019-03-28))