在Octave中实现梯度下降的麻烦

时间:2017-03-22 06:56:21

标签: machine-learning octave gradient-descent

我一直在尝试在Octave中实现梯度下降。这是我到目前为止的代码:

With 
Member [Measures].[1 absent criteria] as
SUM(    
    Tail(

        [DimSchoolCalendar].[SchoolDay].&[IsSchoolDay] * {NULL:StrToMember('[DimSchoolCalendar].[Date].&[' + Format(Now(),'yyyy-MM-dd') + ']')},
        3
    ),
    [Measures].[QtyLackingStudents]
)

Member [Measures].[2 absent criteria] as
SUM(    
    LastPeriods(
        2,
        StrToMember('[DimSchoolCalendar].[Month].&[' + Format(Now(),'yyyy-MM') + ']')
    ),
    [Measures].[QtyLackingStudents]
)


Member [Measures].[Absents] as
case 
    when [Measures].[1 absent criteria] = 3 and [Measures].[2 absent criteria] >= 5
    then 'THREE SEQUENCIAL ABSENTS + FIVE ABSENTS LAST 2 MONTHS'
    when [Measures].[1 absent criteria] = 3
    then 'THREE SEQUENCIAL ABSENTS'
    when [Measures].[2 absent criteria] >= 5
    then 'FIVE ABSENTS LAST 2 MONTHS'
    else NULL
end 

Select 
{[Measures].[Absents]} on 0,
Non Empty {[DimStudent].[Name].[Name].Members} on 1
From [AlunosMatriculados]

我无法确定这段代码出了什么问题,它会编译并运行但是它会被自动评分并且每次都会失败。

编辑:对不起,不具体。我应该实现GD的一个步骤,而不是整个循环

编辑2:这是完整的事情。只有for循环中的东西才是相关的。

编辑3:两个测试用例都失败了,所以我的计算出了问题。

1 个答案:

答案 0 :(得分:0)

我认为我的问题是我出于某种原因在那里有一个额外的for循环。