Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function computeRegression_v2()
- {
- var theta
- var sum = 0
- for(i=0;i<d1.length;i++)
- {
- sum += (-d1[i][1])/(d1[i][0])
- }
- theta = sum / (-d1.length)
- return [[0,0],[200,200*theta]]
- }
- function computeRegression_v1()
- {
- //alert("a")
- d2 = []
- var sum = 0
- var theta = 2
- var lastSum = null
- var dir = false
- var mov = -1
- while(true)
- {
- sum = 0
- for(i = 0;i<d1.length;i++)
- {
- var tx = theta * d1[i][0]
- var ty = d1[i][1]
- var err = Math.pow((tx-ty),2)
- sum += err
- }
- sum = sum * (1/(2*d1.length))
- // if(prompt("Theta: "+ theta + " / Sum: "+sum)==null) { break }
- if(sum == 0 || lastSum==sum) { break }
- if(lastSum==null)
- {
- lastSum = sum
- theta -= 1
- console.log("Reducing theta: "+theta)
- }
- else
- {
- if(sum<lastSum)
- {
- theta += mov
- }
- else
- {
- dir = !dir
- mov *= -0.5
- theta += mov
- console.log("Halving theta: "+theta)
- var diff = Math.abs(Math.abs(lastSum)-Math.abs(sum))
- if(diff<0.1)
- {
- break;
- }
- }
- lastSum = sum
- }
- }
- return [[0,0],[200,200*theta]]
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement